{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4dab2801-84c8-4139-ae83-b49e904368cc",
   "metadata": {
    "id": "4dab2801-84c8-4139-ae83-b49e904368cc"
   },
   "source": [
    "### Important Note\n",
    "\n",
    "If you're running this notebook on Google Colab, it will run a lot faster if you set the runtime type to **T4 GPU**.   \n",
    "You can do this from the **Runtime** menu.\n",
    "\n",
    "Runtime->Change Runtime Type->T4 GPU\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d63e2452-178a-4ef8-a9bf-a22ebb3a1c60",
   "metadata": {
    "id": "d63e2452-178a-4ef8-a9bf-a22ebb3a1c60"
   },
   "source": [
    "### Introduction\n",
    "\n",
    "In this tutorial we will explore the use of generative AI for denovo molecular design.  We will use a generative model trained on SMILES to produce the structures of new molecules.  In this case, we will use [SMILES-RNN](https://github.com/MorganCThomas/SMILES-RNN), a generative model developed by Morgan Thomas. We will then explore a typical drug discovery scenario where we start with a known compound and generate analogs.  Many of the analogs contain structural errors and problematic functionality.  We will examine several strategies for identifying and removing these analogs from the dataset."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "04392527-d470-4e47-a16c-0a1a28696b0f",
   "metadata": {
    "id": "04392527-d470-4e47-a16c-0a1a28696b0f"
   },
   "source": [
    "### 0. Setup\n",
    "Install the necessary Python libraries.   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e941f275-3b44-4a0f-8e74-eb999a9f844c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-05T22:07:37.286195Z",
     "start_time": "2025-05-05T22:07:37.283897Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 50632,
     "status": "ok",
     "timestamp": 1757340498224,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "e941f275-3b44-4a0f-8e74-eb999a9f844c",
    "outputId": "e29fb57c-92e2-40c8-c077-a721b09074d8"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "In Google Colab - installing required packages...\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2K\u001b[2mResolved \u001b[1m3 packages\u001b[0m \u001b[2min 195ms\u001b[0m\u001b[0m                                         \u001b[0m\n",
      "\u001b[2K\u001b[2mPrepared \u001b[1m3 packages\u001b[0m \u001b[2min 730ms\u001b[0m\u001b[0m                                             \n",
      "\u001b[2K\u001b[2mInstalled \u001b[1m3 packages\u001b[0m \u001b[2min 16ms\u001b[0m\u001b[0m                                \u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mnumpy\u001b[0m\u001b[2m==2.3.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpillow\u001b[0m\u001b[2m==11.3.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mrdkit\u001b[0m\u001b[2m==2025.3.6\u001b[0m\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2K\u001b[2mResolved \u001b[1m31 packages\u001b[0m \u001b[2min 8.39s\u001b[0m\u001b[0m                                        \u001b[0m\n",
      "\u001b[2K\u001b[2mPrepared \u001b[1m11 packages\u001b[0m \u001b[2min 3.14s\u001b[0m\u001b[0m                                            \n",
      "\u001b[2K\u001b[2mInstalled \u001b[1m23 packages\u001b[0m \u001b[2min 253ms\u001b[0m\u001b[0m                              \u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mabsl-py\u001b[0m\u001b[2m==2.3.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mcachetools\u001b[0m\u001b[2m==5.5.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mdeepsmiles\u001b[0m\u001b[2m==1.0.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mfilelock\u001b[0m\u001b[2m==3.19.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mfsspec\u001b[0m\u001b[2m==2025.9.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mgoogle-auth\u001b[0m\u001b[2m==2.40.3\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mgrpcio\u001b[0m\u001b[2m==1.74.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmarkdown\u001b[0m\u001b[2m==3.9\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmpmath\u001b[0m\u001b[2m==1.3.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mnetworkx\u001b[0m\u001b[2m==3.5\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpromptsmiles\u001b[0m\u001b[2m==1.7.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mprotobuf\u001b[0m\u001b[2m==6.32.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpyasn1\u001b[0m\u001b[2m==0.6.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpyasn1-modules\u001b[0m\u001b[2m==0.4.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mrsa\u001b[0m\u001b[2m==4.9.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mselfies\u001b[0m\u001b[2m==2.2.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1msmiles-rnn\u001b[0m\u001b[2m==2.0.1 (from git+https://github.com/PatWalters/SMILES-RNN@bd5034b8359d8a565675bd6b9ef78c04a1587a4d)\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1msympy\u001b[0m\u001b[2m==1.14.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtensorboard\u001b[0m\u001b[2m==2.20.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtensorboard-data-server\u001b[0m\u001b[2m==0.7.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtorch\u001b[0m\u001b[2m==2.8.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtqdm\u001b[0m\u001b[2m==4.67.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mwerkzeug\u001b[0m\u001b[2m==3.1.3\u001b[0m\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2K\u001b[2mResolved \u001b[1m76 packages\u001b[0m \u001b[2min 376ms\u001b[0m\u001b[0m                                        \u001b[0m\n",
      "\u001b[2K\u001b[2mPrepared \u001b[1m18 packages\u001b[0m \u001b[2min 3.21s\u001b[0m\u001b[0m                                            \n",
      "\u001b[2K\u001b[2mInstalled \u001b[1m43 packages\u001b[0m \u001b[2min 183ms\u001b[0m\u001b[0m                              \u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1maltair\u001b[0m\u001b[2m==5.5.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mblinker\u001b[0m\u001b[2m==1.9.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mclick\u001b[0m\u001b[2m==8.2.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mcloudpickle\u001b[0m\u001b[2m==3.1.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mcontourpy\u001b[0m\u001b[2m==1.3.3\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mcycler\u001b[0m\u001b[2m==0.12.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mdask\u001b[0m\u001b[2m==2025.7.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mdask-jobqueue\u001b[0m\u001b[2m==0.9.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mdistributed\u001b[0m\u001b[2m==2025.7.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mflask\u001b[0m\u001b[2m==3.1.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mfonttools\u001b[0m\u001b[2m==4.59.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mfunc-timeout\u001b[0m\u001b[2m==4.3.5\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mgitdb\u001b[0m\u001b[2m==4.0.12\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mgitpython\u001b[0m\u001b[2m==3.1.45\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mimportlib-resources\u001b[0m\u001b[2m==6.5.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mitsdangerous\u001b[0m\u001b[2m==2.2.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mkiwisolver\u001b[0m\u001b[2m==1.4.9\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mlevenshtein\u001b[0m\u001b[2m==0.27.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mlocket\u001b[0m\u001b[2m==1.0.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmatplotlib\u001b[0m\u001b[2m==3.10.6\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmolbloom\u001b[0m\u001b[2m==3.0.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmolscore\u001b[0m\u001b[2m==1.9.4\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmsgpack\u001b[0m\u001b[2m==1.1.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mnarwhals\u001b[0m\u001b[2m==2.4.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpandas\u001b[0m\u001b[2m==2.3.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpartd\u001b[0m\u001b[2m==1.4.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mplotly\u001b[0m\u001b[2m==6.3.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpyarrow\u001b[0m\u001b[2m==21.0.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpydeck\u001b[0m\u001b[2m==0.9.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpyparsing\u001b[0m\u001b[2m==3.2.3\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpytz\u001b[0m\u001b[2m==2025.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mrapidfuzz\u001b[0m\u001b[2m==3.14.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mseaborn\u001b[0m\u001b[2m==0.13.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1msmmap\u001b[0m\u001b[2m==5.0.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1msortedcontainers\u001b[0m\u001b[2m==2.4.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mstreamlit\u001b[0m\u001b[2m==1.49.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mstreamlit-plotly-events\u001b[0m\u001b[2m==0.0.6\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtblib\u001b[0m\u001b[2m==3.1.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtenacity\u001b[0m\u001b[2m==9.1.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtoml\u001b[0m\u001b[2m==0.10.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtoolz\u001b[0m\u001b[2m==1.0.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mtzdata\u001b[0m\u001b[2m==2025.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mzict\u001b[0m\u001b[2m==3.0.0\u001b[0m\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2K\u001b[2mResolved \u001b[1m33 packages\u001b[0m \u001b[2min 193ms\u001b[0m\u001b[0m                                        \u001b[0m\n",
      "\u001b[2K\u001b[2mPrepared \u001b[1m6 packages\u001b[0m \u001b[2min 658ms\u001b[0m\u001b[0m                                             \n",
      "\u001b[2K\u001b[2mInstalled \u001b[1m8 packages\u001b[0m \u001b[2min 21ms\u001b[0m\u001b[0m                                \u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mdataclasses\u001b[0m\u001b[2m==0.8\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mjoblib\u001b[0m\u001b[2m==1.5.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpy3dmol\u001b[0m\u001b[2m==2.5.2\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mpystow\u001b[0m\u001b[2m==0.7.8\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mscikit-learn\u001b[0m\u001b[2m==1.7.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mscipy\u001b[0m\u001b[2m==1.16.1\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mthreadpoolctl\u001b[0m\u001b[2m==3.6.0\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1museful-rdkit-utils\u001b[0m\u001b[2m==0.90\u001b[0m\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2K\u001b[2mResolved \u001b[1m103 packages\u001b[0m \u001b[2min 97ms\u001b[0m\u001b[0m                                        \u001b[0m\n",
      "\u001b[2mUninstalled \u001b[1m3 packages\u001b[0m \u001b[2min 10ms\u001b[0m\u001b[0m\n",
      "\u001b[2K\u001b[2mInstalled \u001b[1m5 packages\u001b[0m \u001b[2min 32ms\u001b[0m\u001b[0m.1.11                           \u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mipython-genutils\u001b[0m\u001b[2m==0.2.0\u001b[0m\n",
      " \u001b[31m-\u001b[39m \u001b[1mipywidgets\u001b[0m\u001b[2m==8.1.7\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mipywidgets\u001b[0m\u001b[2m==7.8.5\u001b[0m\n",
      " \u001b[31m-\u001b[39m \u001b[1mjupyterlab-widgets\u001b[0m\u001b[2m==3.0.15\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mjupyterlab-widgets\u001b[0m\u001b[2m==1.1.11\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mmols2grid\u001b[0m\u001b[2m==2.0.0\u001b[0m\n",
      " \u001b[31m-\u001b[39m \u001b[1mwidgetsnbextension\u001b[0m\u001b[2m==4.0.14\u001b[0m\n",
      " \u001b[32m+\u001b[39m \u001b[1mwidgetsnbextension\u001b[0m\u001b[2m==3.6.10\u001b[0m\n",
      "\u001b[2mUsing Python 3.12.8 environment at: test\u001b[0m\n",
      "\u001b[2mAudited \u001b[1m1 package\u001b[0m \u001b[2min 6ms\u001b[0m\u001b[0m\n",
      "Done!\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "\n",
    "IN_COLAB = \"google.colab\" in sys.modules\n",
    "\n",
    "if IN_COLAB:\n",
    "    print(\"In Google Colab - installing required packages...\")\n",
    "    ! uv pip install --system rdkit\n",
    "    ! uv pip install --system git+https://github.com/PatWalters/SMILES-RNN\n",
    "    ! uv pip install --system molscore\n",
    "    ! uv pip install --system useful_rdkit_utils\n",
    "    ! uv pip install --system mols2grid\n",
    "    ! uv pip install --system seaborn\n",
    "    print(\"Done!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e37515f8-e0c9-44ee-b3fe-54818f3cd982",
   "metadata": {
    "id": "e37515f8-e0c9-44ee-b3fe-54818f3cd982"
   },
   "source": [
    "Import the libraries we'll be using"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c67cdeef-eb3b-4bfe-a435-00ca05bc3a43",
   "metadata": {
    "executionInfo": {
     "elapsed": 42565,
     "status": "ok",
     "timestamp": 1757340568937,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "c67cdeef-eb3b-4bfe-a435-00ca05bc3a43"
   },
   "outputs": [],
   "source": [
    "from six.moves import urllib                            # downloading files\n",
    "from glob import glob                                   # getting directory listings\n",
    "import os                                               # sorting directory listings\n",
    "import pandas as pd                                     # data manipulation\n",
    "from tqdm.auto import tqdm                              # progress bars\n",
    "from rdkit import Chem                                  # molecule manipulation\n",
    "from rdkit.Chem.Draw import MolsToGridImage             # molecule grid images\n",
    "import useful_rdkit_utils as uru                        # ring system checks\n",
    "from rdkit.Chem import rdFingerprintGenerator           # chemical fingerprints\n",
    "from rdkit.DataStructs import BulkTanimotoSimilarity    # chemical fingerprints\n",
    "import seaborn as sns                                   # plotting\n",
    "import matplotlib.ticker as ticker                      # plot formatting\n",
    "import mols2grid                                        # interactive molecule viewer\n",
    "import json                                             # read the configuration file\n",
    "from rdkit.rdBase import BlockLogs                      # prevent the RDKit from generating lots of error messages"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95033e7a-1c3a-434a-86f8-110936c80673",
   "metadata": {
    "id": "95033e7a-1c3a-434a-86f8-110936c80673"
   },
   "source": [
    "Enable progress bars for Pandas **progress_apply**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "5d9d556a-9583-4c08-bd56-86d09e9e7e5d",
   "metadata": {
    "executionInfo": {
     "elapsed": 36,
     "status": "ok",
     "timestamp": 1757340573893,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "5d9d556a-9583-4c08-bd56-86d09e9e7e5d"
   },
   "outputs": [],
   "source": [
    "tqdm.pandas()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b501184-d066-49ef-83fa-1f2ffd037ea0",
   "metadata": {
    "id": "5b501184-d066-49ef-83fa-1f2ffd037ea0"
   },
   "source": [
    "Grab the script the runs reinforcement learning from the [SMILES-RNN](https://github.com/MorganCThomas/SMILES-RNN) GitHub repository."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "3b08faa4-8e9b-4fe7-8892-5aafc956cdc4",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 106,
     "status": "ok",
     "timestamp": 1757340576327,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "3b08faa4-8e9b-4fe7-8892-5aafc956cdc4",
    "outputId": "0839562b-eb12-4578-ea72-cb04d56a50d9"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('reinforcement_learning.py', <http.client.HTTPMessage at 0x107cc7ce0>)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "urllib.request.urlretrieve(\"https://raw.githubusercontent.com/MorganCThomas/SMILES-RNN/main/scripts/reinforcement_learning.py\", \"reinforcement_learning.py\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1ceae170-5f70-4665-b922-2426752b234a",
   "metadata": {
    "id": "1ceae170-5f70-4665-b922-2426752b234a"
   },
   "source": [
    "Grab the checkpoint file with the prior distributions from ChEMBL 28."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9a1df6ba-3801-4261-8e56-3486d57f4a08",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 365,
     "status": "ok",
     "timestamp": 1757340579330,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "9a1df6ba-3801-4261-8e56-3486d57f4a08",
    "outputId": "8c983696-0959-43cb-873d-66d546dc5585"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('ChEMBL28pur.ckpt', <http.client.HTTPMessage at 0x32c180f80>)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "urllib.request.urlretrieve(\"https://raw.githubusercontent.com/MorganCThomas/SMILES-RNN/main/priors/ChEMBL28pur.ckpt\",\"ChEMBL28pur.ckpt\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc03740e-b281-45ad-a735-27f41d1e54d8",
   "metadata": {
    "id": "dc03740e-b281-45ad-a735-27f41d1e54d8"
   },
   "source": [
    "Grab a scoring configuration file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "00c278a9-9d5c-4234-9532-3237ae0c3155",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 96,
     "status": "ok",
     "timestamp": 1757340581599,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "00c278a9-9d5c-4234-9532-3237ae0c3155",
    "outputId": "12d1140e-ad6c-4f57-aca7-f13bdd219547"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('fragment_005_similarity.json', <http.client.HTTPMessage at 0x32c867ad0>)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "urllib.request.urlretrieve(\"https://raw.githubusercontent.com/PatWalters/practical_cheminformatics_tutorials/main/generative/data/fragment_005_similarity.json\",\"fragment_005_similarity.json\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "323e5a1a-b04f-4868-8d50-b76072d27259",
   "metadata": {
    "id": "323e5a1a-b04f-4868-8d50-b76072d27259"
   },
   "source": [
    "Download the results from a previous run.  We'll use this if we don't want to wait for a reinforcement learning run to complete."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "9036fc1f-3aa0-4c35-a840-84d999afc23b",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 481,
     "status": "ok",
     "timestamp": 1757340585121,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "9036fc1f-3aa0-4c35-a840-84d999afc23b",
    "outputId": "984abb0f-3cd5-4bdc-8f8b-514f96cace45"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "('2024_08_26_SMILES-RNN_fragment_005_similarity.tar.gz',\n",
       " <http.client.HTTPMessage at 0x32e071550>)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "urllib.request.urlretrieve(\"https://raw.githubusercontent.com/PatWalters/practical_cheminformatics_tutorials/main/generative/data/2024_08_26_SMILES-RNN_fragment_005_similarity.tar.gz\",\"2024_08_26_SMILES-RNN_fragment_005_similarity.tar.gz\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c579d530-3c58-480c-8085-aa1970c4bdd8",
   "metadata": {
    "id": "c579d530-3c58-480c-8085-aa1970c4bdd8"
   },
   "source": [
    "Unpack the results from the previous run."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "614f8da9-b884-4326-8fed-65d8b528da02",
   "metadata": {
    "executionInfo": {
     "elapsed": 830,
     "status": "ok",
     "timestamp": 1757340591974,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "614f8da9-b884-4326-8fed-65d8b528da02"
   },
   "outputs": [],
   "source": [
    "!tar -zxf 2024_08_26_SMILES-RNN_fragment_005_similarity.tar.gz"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4c99560-4e67-42a7-b011-1a0dfce6b398",
   "metadata": {
    "id": "c4c99560-4e67-42a7-b011-1a0dfce6b398"
   },
   "source": [
    "### 1. Introduction\n",
    "In this notebook, we'll be use a generative model to generate structures of molecules similar to the reference molecule below.  This scenario arises frequently in drug discovery. We have a screening hit or a lead molecule and we'd like figure out how to modulate its properties or improve it's activity. One way to do this is to generate a set of analogs and use one or more computational models to evaluate the analogs.  This computational evaluation could involve docking, machine learning models or any of several other techniques.\n",
    "\n",
    "We begin by using a reinforcement learning algorithm to generate a set molecules from a **prior** distribution trained on molecules from the ChEMBL database.  Molecules are sampled from this prior and each molecule is scored based on its similarity to the reference molecule below.  These similarities are used to update the prior so that the generated molecules continue to look more like the reference molecule.\n",
    "\n",
    "If you want to generate analogs for a different molecule, just change **ref_smiles** below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "29f289c3-3114-44fa-b00b-de27613abdeb",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 167
    },
    "executionInfo": {
     "elapsed": 27,
     "status": "ok",
     "timestamp": 1757340594595,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "29f289c3-3114-44fa-b00b-de27613abdeb",
    "outputId": "94d87c5a-fffd-4dcd-8bed-957f4cd352db"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x32e05e420>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ref_smiles = \"Clc1ccc(cc1)[C@H]2CN[C@H](C2)C(=O)N3CCN(CC3)c4nccc5ccsc45\"\n",
    "ref_mol = Chem.MolFromSmiles(ref_smiles)\n",
    "ref_mol"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63203138-4899-4e38-a147-fddc145a3ce4",
   "metadata": {
    "id": "63203138-4899-4e38-a147-fddc145a3ce4"
   },
   "source": [
    "### 2. Run Reinforcement Learning (RL)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "310083ba-72b3-425c-9809-c3759b8f7238",
   "metadata": {
    "id": "310083ba-72b3-425c-9809-c3759b8f7238"
   },
   "source": [
    "Modify the configuration file used by SMILES-RNN.  The file is written in the JSON format, which allows it to be read directly into a Python dictionary.  We read the file and put its contents into a dictionary called **input_dict**.  We can then modify one field in the dictionary to insert the SMILES we are using for molecule generation.  Then we write a new configuration file called **smiles_rnn_config.json** that we will use in the next step."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "5fd0a807-dd30-4c89-a1c1-23c8ffe3825f",
   "metadata": {
    "executionInfo": {
     "elapsed": 5,
     "status": "ok",
     "timestamp": 1757340598001,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "5fd0a807-dd30-4c89-a1c1-23c8ffe3825f"
   },
   "outputs": [],
   "source": [
    "# read the default configuration file\n",
    "config_file_name = \"fragment_005_similarity.json\"\n",
    "with open(config_file_name) as ifs:\n",
    "    input_dict = json.load(ifs)\n",
    "# change the SMILES in input_dict\n",
    "input_dict['scoring_functions'][0]['parameters']['ref_smiles'] = [ref_smiles]\n",
    "# write the new configuration file\n",
    "new_config_file_name = \"smiles_rnn_config.json\"\n",
    "with open(new_config_file_name,\"w\") as ofs:\n",
    "    json.dump(input_dict, ofs, indent=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63d36b83-7ad8-472d-9876-f6536cb7e700",
   "metadata": {
    "id": "63d36b83-7ad8-472d-9876-f6536cb7e700"
   },
   "source": [
    "The command below runs reinforcement learning.  This takes about 5 minutes.  To run this, remove the \"#\" character from the beginning of the line below. If you're pressed for time, you don't need to do this.  The lines below will work with files we downloaded earlier."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b0053701-de62-4647-a34d-9ddd2210d09c",
   "metadata": {
    "executionInfo": {
     "elapsed": 1,
     "status": "ok",
     "timestamp": 1757340601005,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "b0053701-de62-4647-a34d-9ddd2210d09c"
   },
   "outputs": [],
   "source": [
    "#!python reinforcement_learning.py -p ChEMBL28pur.ckpt -m smiles_rnn_config.json --model RNN -d gpu RV2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "251b088f-8a16-44bb-94bd-dfc7365947f9",
   "metadata": {
    "id": "251b088f-8a16-44bb-94bd-dfc7365947f9"
   },
   "source": [
    "### 3. Retrieve RL Results\n",
    "Find the most recent result set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "4158f548-2d84-4844-8627-891d258e53e2",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 35
    },
    "executionInfo": {
     "elapsed": 15,
     "status": "ok",
     "timestamp": 1757340737412,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "4158f548-2d84-4844-8627-891d258e53e2",
    "outputId": "8811a9cd-812b-4a18-fc31-753e36011b00"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2024_08_26_SMILES-RNN_fragment_005_similarity'"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "files = glob(\"*SMILES-RNN_fragment_005_similarity*\")\n",
    "files.sort(key=os.path.getmtime,reverse=True)\n",
    "dir_path = files[-1]\n",
    "dir_path"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "23cf1867-3cff-4ba3-8560-13b0ec3e1bc2",
   "metadata": {
    "id": "23cf1867-3cff-4ba3-8560-13b0ec3e1bc2"
   },
   "source": [
    "Read the scores from the most recent result set into a dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "0350d842-450b-438f-8fa3-9ddba63c68c7",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 509,
     "status": "ok",
     "timestamp": 1757340750390,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "0350d842-450b-438f-8fa3-9ddba63c68c7",
    "outputId": "01eec70a-a4b6-4761-d0ad-bcece3049545"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "32000"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv(f\"{dir_path}/scores.csv\")\n",
    "len(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "484da6c4-700d-461e-aa64-165a06c52a19",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 635
    },
    "executionInfo": {
     "elapsed": 68,
     "status": "ok",
     "timestamp": 1757340753068,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "484da6c4-700d-461e-aa64-165a06c52a19",
    "outputId": "59c420ec-f8cf-43b1-f195-8d68c82a7b3f"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>model</th>\n",
       "      <th>task</th>\n",
       "      <th>step</th>\n",
       "      <th>batch_idx</th>\n",
       "      <th>absolute_time</th>\n",
       "      <th>smiles</th>\n",
       "      <th>valid</th>\n",
       "      <th>valid_score</th>\n",
       "      <th>unique</th>\n",
       "      <th>...</th>\n",
       "      <th>filter</th>\n",
       "      <th>score_time</th>\n",
       "      <th>prior</th>\n",
       "      <th>agent</th>\n",
       "      <th>batch_size</th>\n",
       "      <th>rl_strategy</th>\n",
       "      <th>sigma</th>\n",
       "      <th>loss</th>\n",
       "      <th>prior_nll</th>\n",
       "      <th>agent_nll</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.263599</td>\n",
       "      <td>COc1ccc(F)cc1N1C(=O)C(CC#N)(c2ccc3c(c2)OCO3)N=...</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.082433</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>2304.0005</td>\n",
       "      <td>43.659820</td>\n",
       "      <td>43.659824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2.263599</td>\n",
       "      <td>NS(=O)(=O)c1nc2ccc(NC(=O)Cc3ccccc3)cc2s1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.082433</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>2036.5555</td>\n",
       "      <td>20.325274</td>\n",
       "      <td>20.325280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2.263599</td>\n",
       "      <td>Clc1ccc(CC2CCN(c3nccnc3NCN3CCC3)CC2)cc1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.082433</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>6892.1310</td>\n",
       "      <td>33.394047</td>\n",
       "      <td>33.394035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2.263599</td>\n",
       "      <td>N#Cc1c(N)n(C2OC(CO)C(O)C2O)c2ncnc(OCC3(CC=Cc4c...</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.082433</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>2652.9568</td>\n",
       "      <td>45.325540</td>\n",
       "      <td>45.325550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>2.263599</td>\n",
       "      <td>NC(CC(=O)NC1CCN(Cc2ccccn2)C1)Cc1cc(F)cc(F)c1F</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.082433</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>2663.8906</td>\n",
       "      <td>30.668865</td>\n",
       "      <td>30.668856</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31995</th>\n",
       "      <td>31995</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>249</td>\n",
       "      <td>123</td>\n",
       "      <td>171.322162</td>\n",
       "      <td>O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.034335</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>5832.1606</td>\n",
       "      <td>20.064949</td>\n",
       "      <td>0.433530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31996</th>\n",
       "      <td>31996</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>249</td>\n",
       "      <td>124</td>\n",
       "      <td>171.322162</td>\n",
       "      <td>O=C(CCc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.034335</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>5246.9280</td>\n",
       "      <td>22.055660</td>\n",
       "      <td>3.769701</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31997</th>\n",
       "      <td>31997</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>249</td>\n",
       "      <td>125</td>\n",
       "      <td>171.322162</td>\n",
       "      <td>O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.034335</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>5832.1606</td>\n",
       "      <td>20.064949</td>\n",
       "      <td>0.433530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31998</th>\n",
       "      <td>31998</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>249</td>\n",
       "      <td>126</td>\n",
       "      <td>171.322162</td>\n",
       "      <td>O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.034335</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>5832.1606</td>\n",
       "      <td>20.064949</td>\n",
       "      <td>0.433530</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31999</th>\n",
       "      <td>31999</td>\n",
       "      <td>RNN</td>\n",
       "      <td>fragment_005_similarity</td>\n",
       "      <td>249</td>\n",
       "      <td>127</td>\n",
       "      <td>171.322162</td>\n",
       "      <td>O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1</td>\n",
       "      <td>True</td>\n",
       "      <td>1</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.034335</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>/home/ubuntu/software/SMILES-RNN/priors/ChEMBL...</td>\n",
       "      <td>128</td>\n",
       "      <td>RV</td>\n",
       "      <td>120</td>\n",
       "      <td>5832.1606</td>\n",
       "      <td>20.064949</td>\n",
       "      <td>0.433530</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>32000 rows × 25 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       Unnamed: 0 model                     task  step  batch_idx  \\\n",
       "0               0   RNN  fragment_005_similarity     0          0   \n",
       "1               1   RNN  fragment_005_similarity     0          1   \n",
       "2               2   RNN  fragment_005_similarity     0          2   \n",
       "3               3   RNN  fragment_005_similarity     0          3   \n",
       "4               4   RNN  fragment_005_similarity     0          4   \n",
       "...           ...   ...                      ...   ...        ...   \n",
       "31995       31995   RNN  fragment_005_similarity   249        123   \n",
       "31996       31996   RNN  fragment_005_similarity   249        124   \n",
       "31997       31997   RNN  fragment_005_similarity   249        125   \n",
       "31998       31998   RNN  fragment_005_similarity   249        126   \n",
       "31999       31999   RNN  fragment_005_similarity   249        127   \n",
       "\n",
       "       absolute_time                                             smiles  \\\n",
       "0           2.263599  COc1ccc(F)cc1N1C(=O)C(CC#N)(c2ccc3c(c2)OCO3)N=...   \n",
       "1           2.263599           NS(=O)(=O)c1nc2ccc(NC(=O)Cc3ccccc3)cc2s1   \n",
       "2           2.263599            Clc1ccc(CC2CCN(c3nccnc3NCN3CCC3)CC2)cc1   \n",
       "3           2.263599  N#Cc1c(N)n(C2OC(CO)C(O)C2O)c2ncnc(OCC3(CC=Cc4c...   \n",
       "4           2.263599      NC(CC(=O)NC1CCN(Cc2ccccn2)C1)Cc1cc(F)cc(F)c1F   \n",
       "...              ...                                                ...   \n",
       "31995     171.322162              O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1   \n",
       "31996     171.322162              O=C(CCc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1   \n",
       "31997     171.322162              O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1   \n",
       "31998     171.322162              O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1   \n",
       "31999     171.322162              O=C(CCc1ccc(Cl)cc1)N1CCN(c2ccccn2)CC1   \n",
       "\n",
       "       valid  valid_score  unique  ...  filter  score_time  \\\n",
       "0       True            1    True  ...     1.0    0.082433   \n",
       "1       True            1    True  ...     1.0    0.082433   \n",
       "2       True            1    True  ...     1.0    0.082433   \n",
       "3       True            1    True  ...     1.0    0.082433   \n",
       "4       True            1    True  ...     1.0    0.082433   \n",
       "...      ...          ...     ...  ...     ...         ...   \n",
       "31995   True            1   False  ...     1.0    0.034335   \n",
       "31996   True            1   False  ...     1.0    0.034335   \n",
       "31997   True            1   False  ...     1.0    0.034335   \n",
       "31998   True            1   False  ...     1.0    0.034335   \n",
       "31999   True            1   False  ...     1.0    0.034335   \n",
       "\n",
       "                                                   prior  \\\n",
       "0      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "1      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "2      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "3      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "4      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "...                                                  ...   \n",
       "31995  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "31996  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "31997  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "31998  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "31999  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...   \n",
       "\n",
       "                                                   agent  batch_size  \\\n",
       "0      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "1      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "2      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "3      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "4      /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "...                                                  ...         ...   \n",
       "31995  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "31996  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "31997  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "31998  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "31999  /home/ubuntu/software/SMILES-RNN/priors/ChEMBL...         128   \n",
       "\n",
       "       rl_strategy  sigma       loss  prior_nll  agent_nll  \n",
       "0               RV    120  2304.0005  43.659820  43.659824  \n",
       "1               RV    120  2036.5555  20.325274  20.325280  \n",
       "2               RV    120  6892.1310  33.394047  33.394035  \n",
       "3               RV    120  2652.9568  45.325540  45.325550  \n",
       "4               RV    120  2663.8906  30.668865  30.668856  \n",
       "...            ...    ...        ...        ...        ...  \n",
       "31995           RV    120  5832.1606  20.064949   0.433530  \n",
       "31996           RV    120  5246.9280  22.055660   3.769701  \n",
       "31997           RV    120  5832.1606  20.064949   0.433530  \n",
       "31998           RV    120  5832.1606  20.064949   0.433530  \n",
       "31999           RV    120  5832.1606  20.064949   0.433530  \n",
       "\n",
       "[32000 rows x 25 columns]"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34cd202e-910f-4fd4-bdbf-1bc97801cf38",
   "metadata": {
    "id": "34cd202e-910f-4fd4-bdbf-1bc97801cf38"
   },
   "source": [
    "### 4. Remove Duplicate Results\n",
    "Remove duplicate molecules"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "dc64dfc1-8a5f-4063-88c2-27087fbd1a96",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 39,
     "status": "ok",
     "timestamp": 1757340755806,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "dc64dfc1-8a5f-4063-88c2-27087fbd1a96",
    "outputId": "2dab1d9d-18f4-4013-ceaa-acda6e9a0f2f"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7896"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unique = df.drop_duplicates(subset=[\"smiles\"]).copy()\n",
    "len(df_unique)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7c3893c1-4a63-454d-8cbe-736261ca2f41",
   "metadata": {
    "id": "7c3893c1-4a63-454d-8cbe-736261ca2f41"
   },
   "source": [
    "Drop any cases where we have a bad SMILES"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "6cc0d52d-eab7-41b6-a9ae-51b781661522",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 7,
     "status": "ok",
     "timestamp": 1757340758032,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "6cc0d52d-eab7-41b6-a9ae-51b781661522",
    "outputId": "83efac74-52ec-46ec-a76a-16eb1f53724a"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7896"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unique.dropna(subset=\"smiles\",inplace=True)\n",
    "len(df_unique)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "847ef569-3109-4a9f-a6d5-80b843957af8",
   "metadata": {
    "id": "847ef569-3109-4a9f-a6d5-80b843957af8"
   },
   "source": [
    "Let's make one more check for duplicates.  To do this, we'll first add an RDKit molecule to the dataframe, then use that molecule to generate a SMILES string. Note that when we execute the cell below, we get several error messages. This is because not all the SMILES the RNN generates are valid.  However, we are using the [BlockLogs](https://www.rdkit.org/docs/source/rdkit.rdBase.html) function from the RDKit suppress the warning messages. This an example of a [context manager](https://book.pythontips.com/en/latest/context_managers.html), a very usefule Python feature. We'll take care of the invalid molecules below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "b6761354-2ecb-4146-a2cf-831c0ff6e49b",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "c5baf0bd065f4f3d8a47a91d1340426a",
      "523a737f5533409fa2a87d94335e61fc",
      "d24b47fda20544b090dca1c97126d789",
      "2cb7a4cc35ef4a3788f50c35af58606c",
      "a630f35314004d54b726b63ca21aace0",
      "f0f7ade6a46849f0a8ae28e728c8bbf9",
      "86ab6f297987415b94dabe09b36586f0",
      "7564c8d8e55a444eb6c5b7efc67c355c",
      "0c332c30a17a4e97885debbb674f0445",
      "476226412dcb49bf901e135b5b6ca99a",
      "9a3c7dd9af43424fb09a8b4329f69786"
     ]
    },
    "executionInfo": {
     "elapsed": 2448,
     "status": "ok",
     "timestamp": 1757340762789,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "b6761354-2ecb-4146-a2cf-831c0ff6e49b",
    "outputId": "efbaf55b-27f6-4cc2-9f03-e25ffb517e52"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "1264e31f898f49988aed31672fb1c92b",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/7896 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with BlockLogs():\n",
    "    df_unique['mol'] = df_unique.smiles.progress_apply(Chem.MolFromSmiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d923d5eb-202a-472f-ab20-579decd1cac2",
   "metadata": {
    "id": "d923d5eb-202a-472f-ab20-579decd1cac2"
   },
   "source": [
    "As we saw above, there were numerous invalid SMILES.  Let's see how many SMILES failed to convert to molecules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "1c88420b-2c38-4fd5-abc7-fa954dbfb66c",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 9,
     "status": "ok",
     "timestamp": 1757340764849,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "1c88420b-2c38-4fd5-abc7-fa954dbfb66c",
    "outputId": "e05cda28-91b4-4965-d46d-558c7eda7180"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "305"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sum(df_unique.mol.isna())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f4782846-5d10-48e9-9f68-a597942cd7cc",
   "metadata": {
    "id": "f4782846-5d10-48e9-9f68-a597942cd7cc"
   },
   "source": [
    "Let's remove the invalid molecules from the dataframe."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "5e0ff725-6b2d-4beb-8322-302c6797634a",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 16,
     "status": "ok",
     "timestamp": 1757340766915,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "5e0ff725-6b2d-4beb-8322-302c6797634a",
    "outputId": "4a1302ce-8e94-436b-85fd-a58ccd37b67e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7591"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unique_ok = df_unique.dropna(subset=[\"mol\"]).copy()\n",
    "len(df_unique_ok)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3c423f69-d92d-4cfc-a7f6-f6ca9daf8e7f",
   "metadata": {
    "id": "3c423f69-d92d-4cfc-a7f6-f6ca9daf8e7f"
   },
   "source": [
    "One more check for duplicates.  We'll convert the molecules to SMILES and check for duplicates."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0735e80f-0d2d-4aa5-9dd3-818f4a844c28",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "e515b53d02ff45168e50103c0781e7bd",
      "f28505c4f5b044eab232ec81ad5bb99e",
      "8a20157b85264c25a9a2e0e4fd2d8e4a",
      "2fbd833e84f241edb759d2665d8bf0d0",
      "f2e9f014e99843deb8283cc1d4279053",
      "3144211c8bab4733b5823d39058c8219",
      "37c52d0cc8884b3c8cc07cb452b64111",
      "e564d7c342fc44b6a4f5b9d11af18b14",
      "ef12106687bd4c9cb27036206a5f30cf",
      "8fa1250d48ca4537a41a6d09c4cf4e0b",
      "0631d72511a64f0fb17466a4c0bd38fe"
     ]
    },
    "executionInfo": {
     "elapsed": 1020,
     "status": "ok",
     "timestamp": 1757340769847,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "0735e80f-0d2d-4aa5-9dd3-818f4a844c28",
    "outputId": "1f991407-7311-458d-a1ed-01328656a8f3"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "cbb3779206f946218a543bd40f0f696f",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/7591 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_unique_ok['cansmi'] = df_unique_ok.mol.progress_apply(Chem.MolToSmiles)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07eea461-e3b1-4916-8011-245fc0ebad08",
   "metadata": {
    "id": "07eea461-e3b1-4916-8011-245fc0ebad08"
   },
   "source": [
    "Compare the length of the dataframe with the number of unique SMILES.  These are the same, which is great."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "0d981f9e-f587-4c90-bdef-43fd5519a434",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 3,
     "status": "ok",
     "timestamp": 1757340771723,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "0d981f9e-f587-4c90-bdef-43fd5519a434",
    "outputId": "5baa7e69-10f9-4f2b-f9fd-b87f4bab0b63"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(7591, 7591)"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df_unique_ok),len(df_unique_ok.cansmi.unique())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "486bf9f9-0b0c-41da-8b1e-ed4aacb238d3",
   "metadata": {
    "id": "486bf9f9-0b0c-41da-8b1e-ed4aacb238d3"
   },
   "source": [
    "### 5. Remove Molecules With Questionable Ring Systems\n",
    "While we removed molecules that violate standard rules of valence, there still may be some molecules that are not chemically stable.  One way to identify these is to compare the ring systems in the generated molecules with those in the ChEMBL database.  If a molecule contains a ring system not in ChEMBL, that molecule is probably unstable or very difficult to sythesize. This [blog post](https://practicalcheminformatics.blogspot.com/2022/12/identifying-ring-systems-in-molecules.html) has more information ring system analysis. The code below adds two columns to the dataframe.\n",
    "* min_ring - the ring system in each molecule that occurs least frequently\n",
    "* min_freq - the frequency with which **min_ring** occurs  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "a081c11e-77f3-42f0-b4d8-f1a2a9b9e4fd",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "176d6ddc9d47409ea885d597e87cffef",
      "485a928fa8334f0db3140967616dad33",
      "1e1078394d064631a6357ccfe5d675aa",
      "f7127a99e8294722b33708adb4778160",
      "1b4278da251e43a0a43aac2f8220c881",
      "b7125cd164f84aaf8d55dccf538c8339",
      "3d7c9219a78d4d759e539df5f0f9fac7",
      "9b3b7df9e59f40c4bbb2daa8391a2127",
      "de071a38651c46cd82a06b1513512a61",
      "0be6885344da4712888a6210e315d434",
      "d3565b6dff3e4a22a4b43494ffd0dd85",
      "0244739699be41629bba0c239f10dc97",
      "f1f3cefc1bbf409487fe998319cb4c61",
      "0bb7013141274680adf74a3207d6be5e",
      "9b78c00fe51046ca801f0ff1e844f9eb",
      "d1718908d61442dfa3e6ed3eae2b6e1b",
      "27bad5b4d1494d85aac0c1dc2dce6847",
      "a44c1fa9218b4b3686669358853989a5",
      "ca84967a5de744dc94bc356308ac37e3",
      "8f6eeecb4863499f8442b5f7d222cba9",
      "75a0cfed7ba8405c85e14657585cebe7",
      "ede3508e60f34c33b620f2c551ced18c"
     ]
    },
    "executionInfo": {
     "elapsed": 18098,
     "status": "ok",
     "timestamp": 1757340792543,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "a081c11e-77f3-42f0-b4d8-f1a2a9b9e4fd",
    "outputId": "45075f17-ef9e-4a3f-feb9-685a5085094a"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "3f62f0ca31b640edb0761af69f207466",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/7591 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ring_system_lookup = uru.RingSystemLookup()\n",
    "df_unique_ok['ring_systems'] = df_unique_ok.mol.progress_apply(ring_system_lookup.process_mol)\n",
    "df_unique_ok[['min_ring','min_freq']] = [uru.get_min_ring_frequency(x) for x in df_unique_ok.ring_systems]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9b06fa4-f241-47b8-92fc-a87a769c7075",
   "metadata": {
    "id": "f9b06fa4-f241-47b8-92fc-a87a769c7075"
   },
   "source": [
    "Let's see how many molecules contain ring systems that occur fewer than 100 times in ChEMBL."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "41f988f8-8851-46c0-9eee-ce5f972ddd74",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 20,
     "status": "ok",
     "timestamp": 1757340794364,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "41f988f8-8851-46c0-9eee-ce5f972ddd74",
    "outputId": "e40e0a32-a205-46cc-a732-61faf457c9ac"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "672"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df_unique_ok.query(\"min_freq < 100\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48ea24f1-1416-4bec-b38d-1a39e57a5021",
   "metadata": {
    "id": "48ea24f1-1416-4bec-b38d-1a39e57a5021"
   },
   "source": [
    "Put the molecules with questionable ring systems into another dataframe so we can take a closer look.  We are looking for molecules with **min_freq** < 100 and **min_freq** >= 0.   We add the \">= 0\" to retain acyclic molecules, whose **min_freq** values are set to -1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "d5db7de9-4b6b-44bf-ae55-e1024ffc8cef",
   "metadata": {
    "executionInfo": {
     "elapsed": 5,
     "status": "ok",
     "timestamp": 1757340796711,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "d5db7de9-4b6b-44bf-ae55-e1024ffc8cef"
   },
   "outputs": [],
   "source": [
    "bad_ring_df = df_unique_ok.query(\"min_freq < 100 and min_freq >= 0\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f90c286f-29cd-4f16-b70a-98abd74b6ff3",
   "metadata": {
    "id": "f90c286f-29cd-4f16-b70a-98abd74b6ff3"
   },
   "source": [
    "We'll take a look at a few of these, highlighting the questionable ring systems.  For simplictiy, let's grab the first 16 rows in **df_unique_ok**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "a9d64a3f-428b-4ccd-bd62-ec175a43b4b4",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "executionInfo": {
     "elapsed": 279,
     "status": "ok",
     "timestamp": 1757340799044,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "a9d64a3f-428b-4ccd-bd62-ec175a43b4b4",
    "outputId": "b562a99c-defd-4493-865b-fce7a21a7d60"
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABLAAAASwCAIAAABkQySYAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nOzdeVzN2RsH8Ofe9qS6CLcmS7YkW5GlRCNLZM+SkV2GMWVsZTAV8gtjxBgmwyjNWLKNRChLKVKyFpWdVGhTKlru+f3xbRpjZlB9v2338371Gql7n/M0qvt9vuec54gYYwQAAAAAAADyR1zdCQAAAAAAAED1QEEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAyCkUhAAAAAAAAHIKBSEAAAAAAICcQkEIAAAAAAAgp1AQAgAAAAAAvO/o0aODBg1aunTpq1evqjsXAYkYY9WdAwAAAAAAQA1y7ty5QYMGFRUVEZGCgkLPnj3Hjh1rb2/fuHHj6k6NZygIAQAAAAAA/rJv374pU6YUFhbq6uq2aNHi8uXLJSUlRKSoqGhlZWVnZzdy5Mg6UxmiIAQAAAAAACj1448/zp8/XyaTOTk5bdy4USwWZ2ZmBgUFHThw4PTp04WFhUQkFot79eo1duxYOzs7PT296k65UlAQAgAAAAAAEGPMw8PDw8NDJBL973//c3Fxee8B2dnZgYGBQUFBJ06cyMvL4z5oZGQ0duzYL774ok2bNlWeMg9QEAIAAAAAgLwrLi7+8ssvd+7cqaysvGvXrokTJ37gwfn5+WfOnDlw4MAff/yRm5vLfZCrDCdMmGBoaFglKfMDBSF8xJMnT5o1a1bdWQAAAADUfTKZTCQSiUSi6k5E7uTl5Y0bN+7EiRMaGhoHDhwYPHjwJz4xPz8/ODj40KFDQUFBZZVh48aNx44du2XLFsHy5ZOCu7t7decANdeFCxe6deuWnJzcu3dvdXV13uPn5OS4u7unpaV16tSJ9+AAAAAAtculS5c6dux49uzZ1NRUIpJKpQoKCtWdVN2XmZlpY2Nz7ty5Jk2ahISEWFpafvpzlZSUjIyMxowZs2DBgr59+0okkgcPHrx8+TImJmbIkCG1YnshZgjhQzZs2ODq6lpcXNykSRMvL68pU6bwdcuquLh4x44dbm5uL1680NPTe/DggbKyMi+RAQAA6rbs7Gxtbe3qzgIEsWnTpvnz55f9VUtLq0+fPpaWlpaWlqampoqKitWYW1318OFDGxubxMTEli1bnjp1qvL7AAsKCoyNjR88eODv7z9p0iRekhQUDqaHD1m4cOGtW7cGDBjw/PnzadOmmZmZRUVFVT5saGioqanpnDlzXrx40aNHj4CAAFSDAAAAH5WXl2dmZtawYUNjY+O4uLjqTgf45+zs/OzZs4CAAEdHRyMjo1evXgUFBS1ZsqRnz57a2toWFhaurq6hoaFv3ryp7kzriFu3bvXp0ycxMdHU1DQqKoqXrjBqamoODg5c8MpHqwKYIYRPcuzYsXnz5j158kQsFn/xxRcbNmzQ0dGpQJw7d+4sWbIkKCiIiJo1a7Zq1SoHBwcslAcAAPiosLCw6dOnP3jwgPurWCwePXr0ihUrsO2iDktNTY2IiIiIiIiMjLx69WrZdbuSklKnTp2sra3Nzc379u2rqalZvXnWUufOnRs5cmROTk7//v0PHz7M4//GEydODB06tF+/fufOneMrpnBQEMKnysvLW79+vZeX19u3byUSiZub27x58z59XXt6evqqVat++umnkpISiUTi4uIyf/58FRUVQXMGAACoAwoKCjw8PNavXy+TyTp16jR79uwnT55s3ry5oKBAJBINHTr0u+++6969e3WnCcJKS0sLDw8PDw8PCwuLj48vu4ZXVlY2MTFRVVXdtGkT7g58ukOHDk2aNOnNmzdffPHFrl27lJSUeAyekZGho6Ojrq6enZ1dCxb6MoDySEpKKmu71LVr18jIyI8+JT8/38vLi7vpoqSk5Ojo+OLFiypIFQCgFnn1ioWGlr4fEcGKi6s1G6hJIiIi2rZtS0SKioouLi5v374tLi7es2dPcnKyi4tLWcs3a2vry5cvV3eyUEVycnJCQkJcXFzMzc3LKplWrVpVd161xqZNm8RiMRE5OTmVlJQIMYSBgQER3bx5U4jg/EJBCBURGBjYokULIhKJRA4ODmlpaf/6MJlMFhAQwD2Se62Ki4ur4lQBAGqFuDimrs6iohhjbPhwlpdX3QlBDZCfn+/i4sJdtnbs2DE2Npb7+O7du4moefPm3t7eT58+dXNzK1vqZm1tfenSpepNG6pYdna2l5eXSCRSUlLKycmp7nRqOplMxjURFYlEP/zwg3ADTZgwgYh27Ngh3BB8QVMZqIhhw4bdvn3bzc1NRUXF39/f0NBw7dq1hYWF7z4mKirKwsJi3Lhxjx49MjExOX/+fEhISIcOHaorZwCAGm7CBFqxgoqLqzsPqBkuXrzYpUuXtWvXisViFxeXK1eumJiYcJ9q0KCBoaHh48eP58+fb2Fh0bRp0zt37ri5uWlpaYWGhvbq1cvCwuLs2bPVmz9UGS0tLRcXl549exYVFeHf/aMePnwYHh5ORFu3bv3mm2+EG8jMzIyIYmJihBuCLygIoYLU1NTc3d3j4uJsbW2zs7NdXV07d+4cEhJCRHfv3h03blzv3r0vXryop6fn4+MTHR3dt2/f6k4ZAKBG09am8eOplpxjDAIqKChwdXXt06dPUlJSx44dL1++7OXl9W477qFDh8bHxwcGBnbt2vXx48dz5szp2bOnRCKJj493c3PT1taOjIzs37+/hYXFmTNnqvELgao0ZMgQIjpx4kR1J1LTGRgY1KtXj4gGDBgg6EBcQXj58mVBR+EFCkKolFatWh07diwwMLBVq1YJCQmDBg3q3LmzsbHxgQMH6tWrt2rVqqSkJEdHR5ypCgDwKaZNo9On6eXLvz6SllZ92UB1+MDE4LvEYvGwYcNiY2MDAwNNTU2fPn06f/58ExMTNTW1hIQELy8viUQSGRlpbW1tYWFx7Nixqv9CoIoNHTqUiIKCghgaRn7M559/TkRXrlwRdBQTExMlJaVbt27l5eUJOlDloSAEHnArSL29vdXU1LKzs4uKihwcHJKSkpYvX1622R2g1oiMpJEjafJkGj+ekpPp+nVasaL0U87O9OhRdeYGdZ1YTGvXErfC6O1bmjqVOnSg1NTqTguqBDcxaGlpyU0MRkVFvTcx+E8ikWjYsGExMTGBgYHdunV78eKFq6trx44diSg+Pt7d3Z0rC4cPH25oaLh9+/aq+lKgGnTp0kVPTy8lJeXmzZvVnUtNx7XkjY6OFnQUNTU1Y2PjkpKSa9euCTpQ5aEgBH4oKys7OzvPnz//yZMnU6ZM2b17t1Qqre6kAMpPJqPFi+n332n3blq2jBYtouJiys8v/ezr11RSUq35QZ3VogXNnk1E1LEjRUbSmTOUmEjZ2ZSZSY6O1Z0cCO/ixYtdu3Zdu3atSCTiJgZNTU0/8bllZWFISIiZmdnLly9dXV07derEGIuPj/f29m7cuHFiYuLs2bPT09MF/SqgGolEIq4PPFaNfhS3mFPogpCIevToUTUDVRIKQuBT/fr1iahJkybVnQhARaWk0GefUb16RESdOtGTJ0REZ8/S11/T119TVFT1Zgd1WL161LZt6ftJSTR8OE2dSps3k0RCQUH022/VmhwIKSMjY/z48ZaWlomJicbGxp8yMfhfuJMngoKCevTokZ6e7uHh0alTJ6lUeuvWLa4NaUFBAd/pQw3CrRo9fvx4dSdS0/Xo0UMkEl29erVY4C5eVTMVWXkoCIFPJSUlRFQLzt8E+C/q6n/NBzJGIhERkYUFeXqSpyd98g17gIo5eZJ69CArK2rdmq5dI19f+uEHIqKvv6bk5OpODoQxdOjQgIAAIirvxOAHAkZFRV24cMHKyio9Pb1p06aNGzfmjoDKysqqfMJQYw0YMEBFRSUqKiojI6O6c6nRtLW127Rpk5+fHxcXJ+hAVTYVWUkoCIFPXEGIFjJQizVoQIxRdDQxRj//TFwLMmVl0tQkTU368/BfACEwRp6eFB1N335Lvr4kFtOqVdSxI40cSdnZNGdOdecHwuAObVq+fLmXl5eKigpfYbmTJ6Kiorgj1yQSCaEgrFoZGRlJSUn+/v5VtoZTQ0PDwsKipKTk9OnTVTNi7VU1pZqRkZGmpubDhw9fvHgh6ECVhIIQ+ISCEOqC33+no0dp+nQqLqYVK6hRIzIzK/1Unz705+nP1YAxun+fLl2i69fp9etqSwMEIxLR7t2koUG7d9OLF/TVV1RcTDNmkLd36cJRf//qThEE0KxZMyLq0qXLxo0b7ezsrl69ymNwbgsTEWlraxMKQp5kZWXFx8dHREQcO3Zs9+7dmzZtcnd3d3Z2HjdunIWFRYcOHXR1dZWVlRs1atSuXbvJkyePGDEiLCysanLDqtFPVDWLOcViMTfnX8NPI8TSPuATCkKo9YqLacAAsrIiHx/i9vC0aEEtWpR+durUakssPZ1++43evKGSEhKLSSajfv3I3Lza8gFhtGxJq1bRN9/QV19RTAydPEk3btCuXbRxIy1cKPPz29q//2hdXd3qThP4xM3dZWdnR0REHD58eOLEif96zgRfo/AeWR7cuHFj9OjR6enpJSUln36EgEQiadSoUUpKSl5e3v79+6vmQOYhQ4YsWLAgODi4pKQE12MfUGWLOc3MzM6dOxcTE8PV6jUTCkLgE7c3F3sIoRY7d46uXKHXr2nduupO5R1v35KvL+Xn07unS4WHU7161KVL9aUFgnByoiNHKDycli6lHTvIyorWrKErV15bWy/ev//n2bNP4Uy5OqZsMaegqzqxZLQyPDw8Hjx4UPZXiUQilUol/0ZXV5f7lI6OjpKSEhHduXOnQ4cO/v7+Xl5emsKvMWnXrl3r1q3v3bsXHR3dq1cvoYervbp27aqiohIfH5+bm8v1RBQINxVZw4+nx4U78AkzhFDr7d9PRDRhQnXn8Y7cXDp3jgoKuGrwTXGxgkikpKBAhYUUGkqdO5d2voG6QiwmX1/q1In8/WnUKFq8+E14uM/kybsCAwNDQgKCgoJ27949efLk6k4TeMMt5szOzhZ0VSeWjFYGd3mzaNEiNzc3DQ2Ncj23ffv2ffr0CQ8P37Nnz5dffilMgn8zZMiQzZs3nzhxAgXhB6ioqHTq1CkmJubq1auCTt5yBWFYWJhMJhOLa+hmvRqaFtRSKAiBXw8fPty9e7eNjc369eurYryiIvrjDyKisWMFHOXFCzp9mn7/nU6fpufP/+UBubmUlETnz9PevbR+fdH69fGnTu2+ds05OLj9Tz/V8/TstXOnTCYjIiosxGbCOqllS1q9moho+/aHTk6Z6ek/3bhxY+fOnRs3biQiJyenZLQcrUPemyEUaFWnnl5HM7NhCgqthQhet8lkssjISCKaN29eeatBzpw5c4ho27ZtPGf2H4YMGULYRvgJqmbVaEREBBEVFBQkJCQIOlBlYIYQ+ISCECopJSUl9k/R0dFlXblOnTolFosXLlwo7PCnT1NGBnXqREZGQg0RHk4REVRSQjIZPXhAV66QhQV17UqpqZSSQqmp9PTp61evrqelxaakXE1NjU1NTUhPL+HKvz/FpqQsP3t2jbU1yWSYHqyrvv6arl/f5+tr7+rq4Ovra2lpuWbNmkuXLo0aNerIkSNffvllUFBQdecI/CgrCA0NDUmwSTwVlVHR0aPKzrqET3fr1q2MjAx9ff3mzZtXLMLo0aObNGly8+bNS5cuVcGsXb9+/TQ0NK5fv/7s2TM9PT2hh6u9qqCvzC+//MLdDujWrVu7du2EG6iSUBACn7CHEMpFJpPdu3cvNjb26tWrsbGx165de+/WeJMmTUxMTBITEx88ePDtt9926dKlf//+wuVTGBioTETjxgk1wL17FBFBRUWlf5XJSCajc+dyT5688fx5bEpKbGpqbEpKYkbGuxWgolhspKNjqqtrKpV2lUpvPX8+/+TJ/0VEfKalNbdHD6rQ6dVQ84nF9N13PQ4e1PD39x81atS8efM2bdo0Y8aMY8eOhYWFHT9+3M/Pb8qUKVWQSUlJyevXr7W0tKpgLPkkkTRq0KCtTNZE4D2ERERYMVoBXINQKyurCkdQVlaeNm2al5fXzz//XAUFoYqKyueffx4YGBgcHDxz5kyhh6u9uB68whWEa9euXbp0KWPMxcXFy8tLoFF4gQt34BNmCOGj3p0DvHTp0nuH50okEiMjI9M/qamppaenm5mZLVq0aMOGDaNHjw4PD+/cubMQib19+1bvwAH7zp3XjR+vJsQARBQWxlWDBUVFfjduPHn16mFWVmxq6r2MjHd6xZCygkIXXV0TqdRUKjWRSjs1aaKiqUmFhVRcXCyTKYrFP9vazgwMdAoO/kxTc/ihQzRhAuYJ66SWLVt6eno6Ozt/9dVXMTExJ06cuHnz5o4dO7y9vSdPnrxu3ToHB4cq2JESEBAwd+5cT0/PuXPnCj2WfNLWHpyZmfj4Meno3LG0PKCt3USYUYiI0GS0AsLDw4mIO86xwmbPnr1u3brTp0MzMgobNhT8Rt6QIUMCAwNPnDiBgvAD2rVrp62t/eTJk9TUVKlUymPkkpKSr7/+etu2bQoKClu2bKmavaOVgYIQ+ISCEP5LcnLywIED7927V1Q2P0ZERPr6+iYmJiYmJqampiYmJowxrlY8cODAokWLXr582b59+9u3b69fvz4tLe33338fOnTopUuX9PX1ec8wODg4IysrqlUrtdaC7bFJT+f+/Do4eOc7R40pKSi0adCAmwM01dXtpqurqqFBOjqkq0tSKenqUqNGlJtb9NtvozZvPn3v3olJk5ZZWnqGh9sfPHhOQ8NMQ4OGDRMqZ6hW8+bNO3z4cFhYmKurq5+fX58+ff73v/9FRERs3LhxypQpVVANymSyNWvWZGdn83hgOrynbO5OQ6N9eHj7wkJhR4FyYYxduHCBiCrZd6RFixazZwf7+vbZtUt50SKekvtvQ4cOFYlEwcHB/v7+/fv3x1k1/0okEnXr1i00NDQmJmb48OF8hX379u3kyZMDAgJUVFR+++03Ozs7viILBwUh8AkFIfyX5cuX37lzh4ikUqnpO3Jycrj1ot9///21a9devXr17rOaNm3aunVrrjHXjh07Hj9+HBERMWTIkIiICN4XsO3fv5+Ixo8fz2/Yv1FSojdviOjMgwdE1EFHZ2Hv3iZSaYfGjRXV1f9WAerovP9cTU2luXPbx8UdT0wcc/Bg2KxZT1+92n3jxsh9+y7Vq9e8QQOcSVgnicXiXbt2derU6bfffhs1atRXX33166+/2tjYPHnypGLNLcrrwIEDcXFxzZo1c3BwqILh5FNZqcZN4glUs6EgrJiEhIQXL15IpdLWlb5XaGMzcNs2+vlnWrCAhL6Zc/nyZQUFBXV1da4jsVQqtbCwsLa2Njc379Chg7Bj1ypmZmahoaHR0dF8FYTZ2dkjRowIDw+XSCSBgYEWFha8hBUcA+APd8Wwe/fu6k4Eahzud+KKFStycnJ2797t7Ozcp0+ff578o6enN3z4cHd398DAwGfPnr0XJD09nduTbWVl9fbtWx7Ty8vL09DQEIlEDx8+5DHs+4KD2cqVCfPmEZG2quqb5cuZuztbtYodPfqJAWQy2RdffEFEuk2aPFiwwNrAgIiMdHQyXVzYjRsCZg7VavPmzUTUtGnTx48fq6mpEdGyZcuqYFyZTNapUyci8vHxqYLh5FZ+PiNiqqosLY0RsSZNhB0FyoVrDTphwoTKhyopYS1aMCJ2+nTlg33I0aNHuSMQBw4caGNj895LbfPmzV1cwnfsYElJwqZRKwQEBBCRgYEBLxcVKSkp3K4WXV3dG7XqRRkFIfBp4sSJRPT7779XdyJQszx9+lQsFqurq+fm5r58+fLdVyapVGpra+vm5hYYGJiamvrRUA8ePGjSpAkRTZ8+nbf8ior279lDRL169eIt5r/Kz2erV3tYWRHR9K5dfx0xwrxZs6NTp7L8/E+P8fbtW663gXGbNk8WLOjUpAkRWTZv/sbNjT14IFzuUI1KSkrGjRv3xx9/MMbCw8MVFBQUFRWjo6OFHvfgwYNEpK+vz+/9F/gnVVVGxF69YkRMWVnYUQoKhIpfJ9nb2xPRtm3beIm2ejUjYqNH8xLs34WEhKiqqhLRggULuI8UFxfHxcX5+PiMHTu2YcOGRNSt2wui0rsPY8cyb2925QqTyRhjbMIEFh/PGGN//MEiItj69Sw5mQvC/oxXp1y7do27GpFIJA4ODoGBgRX+dXf79u1mzZoRkZGR0ZMnT/jNU2goCD/i5s2b1Z1CbcItt9u3b191JwI1y4YNG4ho3Lhx3F9nzZq1Zs2aU6dOvXz5sgLRYmJi6tWrR0QrV66sbGaPHrGtW9nKlesHDVJVUtro4lLZgB9WVMTWrOnQuDERnXJwGNCqFRH9unVrecNkZGSUzpSamDx0dv5MU5OIJhgby9asYc+fC5E41CjffPMNEbVv375AyEt7mUxmampKRFvL/y0K5dW0KSNiqalMXZ0Rsbw8QUYZOJBZW7PsbEGC11XcsQ3xXJFUaampTFmZKSqWVlm8i4yM5BaTf/311//6gJKSkuvXr//005sxY1jjxowrC7m3xo3Z99+znj3Z8OFMJmM//sgOH2YzZ5ZOJBYVsf79Bcm52s2ZM4dr8FtWGU6ZMiUwMLBcv2CjoqIaNWpERD179kxPTxcuW4GgIPxPt2/fNjAw4FbpCFcWymSyb775pnv37l5eXgINUZXGjBlDRAcOHKjuRKBm4c5+PXToEF8Bg4KCFBQURCKRr69vxaMkJBStWrVzxIgSNzfm7n7aweHx4sXs0iW+kvwXt2/fnDOHiBqpq6csXqyoqKikpJSRkVGBSH/NlA4ceHPOHC1VVSJaZmnJvL1Zbm4F0ysqYkuXsilT2LhxLDCQMcYmTy791L17bNWqCoYFvhUUFBgZGRHR8uXLhRvlyJEj3By+oGUncNq3Z0Ts9m2mq8uIBKkW1q1j3LXMzZssJIT/+HXS3bt3iUhHR0fGTZ/xYdw4RsTc3fmK95erV69qa2sT0dSpUz8x4fv3mZ8fc3RkzZszIvbjj2zwYLZxI/v1178KwlWrmI8P27atzhaEnPv373t7e5u/sxtfXV3d1tbWz88vJyfnw889evSouro6EY0YMSK/PEt+ag4UhP8iJSVlxowZ73ZGUVRUdHZ2zub7rlp0dHSfPn3KRrG1tX1Qm1d8ZWZmcvel3IX4PQe11oMHD0QiUf369fn9Lfnzzz8TkZKS0umK7cYoLmZeXvnLlmmqqGwdOpS5uzv37Hlr7ly2enXFC6qPCghYZmlJRLO7dds6eTL3U1/hYGUzpR5jxwZPmqQoFhPRT0OHMh8fVrEVL9u2sR9+YIyxwkJmbc2Sk5mlZemn4uLY3LkVThV4d/HiRaEXjnJHNm/evFmg+PCu3r2Zhga7fJmNHs0sLdnjx7xFLpur6N+f2dqykhJ27FjpDzp81I4dO4hozJgxPMY8e5YRMamUFRbyGJXduHGjQYMGRGRnZ1dcXFyBCElJ7OVLNngwKypin3/OVq0qLQj37WMRESwsrI4XhGUePnzIVYaiP89zUlNT4yrDV69e/fPxu3bt4s7fnj59elFRUdUnzAvBO1bXLvn5+WvXrjU0NNy5c6dYLHZ0dIyKinJyciKiTZs2tWrVatOmTbJ3DoyusEePHk2YMKFHjx4XLlxo2rSpkZFR/fr1g4KCjI2NV61a9ebNm8oPUZWKioq2b99uaGj4+vVrkUjUs2fP6s4IapD9+/czxoYPH841w+DL7NmzFy5cWFRUZGdnd+PGjXI//8kTYoyIPm/Z8lhSUtrr16UfF4koKYnHPP9SVER37wbExxPR+A4d9sfFUeWamnbr1m3//v2KioruBw+mKSn9bGtLRE7BwYHnz9PWrbRzJx06RPfvfzxQdjadPUuxsRQWRmPGEBEpKdGgQXT5MhGRpyd5etL27RXOE4TQq1cvZyDrDywAACAASURBVGfn4uLiKVOmCPGScezYsZiYmKZNm+IQsypw/jzt2kW5udS2LX3zDYWFUbNmPITNyqLZs6l7d+J+vSkp0dCh+FEuH15OIHxPv340Ywb99BOfjUaTkpIGDRqUmZk5cuTIvXv3VqzZe5s21KgREZGiInl40JYtpR83MSFzc+rdm7dsa7gWLVo4OztHREQ8evSIqwzfvn0bFBQ0ZcqUxo0bDxgwYNOmTS9evOAevHbt2mnTphUXF7u4uOzcuZOrDGul6q5IawqZTBYQENCiRQvuf4utrW1iYuLu3bsfP37MGLt+/XrZVF63bt2ioqIqPFBubq6bmxu331ddXd3FxYVrpZiSkuLg4MDdjTAwMAgICODtaxNYSEhIWQtjCwsL7uofoEyXLl2IKJBbgsirspabenp65d7AHRfH1qzJX7ZsVPv2sbNnT+7cuXSGcOVKduFCSUkJ79myW7diZ88moqYaGsmLFikoKKiqqv7r7cZy8fHxIW6mdO5cbvpRXUnp8qxZzN2dubuzNWvYgQPsvbVD2dnswgXm7c0cHJiREROLGRFzcGAODuzevdLHrFnDjh1jlpYsMZElJrLjxzFDWNO8efOGWzgqRMdRbpn3xo0beY8M/zR1KrOyYiUlLCGBt5+zgwdLd4jVr88uXGCMscGDWXExs7Zmv/6KGcJP1bx5cyK6fv06v2HXrWPTpjHGWGEhGzu2stEeP37M9TIZMGDAmzdvKhlt3rzSdxYtYmfPMk9Pxr26FhfL74tAcnLy5s2b+/btW1ZpKykpDRw4sH///kSkqKj4yy+/VHeOlYWCkDHGLl261KtXL+7f2NTU9Pz585cuXerduzcRTZo0qexhgYGB3HHYYrHYwcHhxYsX5RqlqKjIx8eH2/YjEonGjh17//59Pz+/Jk2aHDx4kHtMWFgY1+ObiPr373/79m0+v06+xcbG9uvXj8u2Xbt2taiIhSqTmJhIRNra2pV/lfpXBQUF3IEWxsbG5VvUnZpaVhAyd/eve/To8dlnt+bOZR4eqWfPdu/enccdj6X27l1ibk5EX/fo4T1pEhGN5qnT3KJFi4hIs379a05Okzt3JiJp/fqP5s8vqwlfBAefPHnS09NzzJgx4aNG/a2NABFTU2M9e7I1a9jevWzJEsYYe/WKWVqyzEwsGa3hLl26JMTC0RMnThBRkyZN8gTqbQJ/N3UqW7WKbdnCT0GYmckcHUt/uC0sWEIC8/Ji586xwYMZYyw6mrVti4Lwkzx58oSItLS0KrYC8wM8PFjfviw0lBUWMhubSoV6+vRpy5Yticjc3Pz169c8JchOnmQTJ7KwML7ifVBJCc/LZwWTnp7u5+dna2urrKxMRA0aNBCJRCtWrKjuvHgg7wVhUlLS2LFjuZJGT0/Px8cnISFh1KhR3Ef09fX9/f3fffzr16/d3NxUVFSISCKReHt7f+KviZCQkI4dO3Jhe/bsefHixePHj3M3d4loypQpZY/k6kauL7CSkpKTk9NHN7NWveTkZEdHR+5OSYMGDby8vNCUHP7VypUriWgady9UGGWHE/bt27d8169bt+YvX84VhK+WLpXWr39r7tw3y5dz1Zq6unpl1gK8780b2apVLbS1iShi+vRenTrRn4tpK++vwwm1tR84O3OHExpIJEv79BlpaKivpfXuqhD37t2ZsjIzMmIODszbm124wMpqdZmMbdvGJk1i06axmBjGWGl9yBh7/Jih1WSNtHDhQuK74yjXVmH9+vV8BYQPmzqVJSezgQNZWBibO5dV5u7Z0aP5TZowIqahwbZuZfHxrEcPRsRatfrrqIOvv8ZP8yfZvXs3EQ0bNoz3yB4eLDiYWVmx3FxmY8Nu3GAXL1akJnr+/Hn79u25C0t+rxWXLmVEbP58HkP+m7Q0tnMnW7mSrVzJNmxgsbHleG56OgsKYtu3Mz8/FhvLhFjX898uXLigqKjILesTiUTTp0/PysqqygR4J78FYUZGhouLC1fa1atXz83NLSUl5d2PuLi45P5Hb4nExMTBgwdzV1ddu3aNjIz8wEDx8fFDhgzhHtymTZuAgIDbt28PHTr03Y/8sxlURkaGk5OTWCzmKlU/Pz/evvLKef36tZeXF3fIqbKyspOTU23/GQBBccuJT548Kego9+7d49o9W1lZleNpmZmydevSXF25mbQXixefnzZNX0sraubMuUOGEFGjRo2S+Dq49/r1SzNnEtFnmpqPFiwQiUTq6uo83s0tmyntpa+f6eraQlu7cb16ZUVgfRUVyz595s+fv3v37oT4eMb33W6oRmULR7/99lteAp46dYr75v+vV0Dg3dSpLCWFxcayvn3Z3LnM3p6Zm7PyrrLPyspydHQ0NLRXUiqdGPTxKT3EQiotdzRgjM2YMYOIvv/+e94je3iwiAi2bx/z8GA2NmzyZEbE1NWZuTlzcWEhIZ90VmRWVlbXrl2JqHPnzhXrVv0BERGl9xEElJzM1qwpXcnCvXl6sk/sEhcXxzw92cqVf22O2Latgt3Uyq+4uJjruTVnzhwvLy9uF1jTpk3LlvvVRvJYEBYWFvr4+Ojo6JQt/nzy5Ml7H0lJSflonMDAQG7PoUgkcnBwSEtLe+8Bz549e28a7dmzZ05OTtxHJBKJl5fXh9fRXblypaxBS79+/W7dulWpr7xySkpK/Pz8pFIpl4+tre39+/erMR+o+W7dusVdWRYKthokIiLiypUrjLFJkyYR0WeffVa+5795w8LC2Pbt7Kef2OrVM0xMuPWW952dh5mbE1GrVq2e83Ky3++/z+/Zk4gW9Oq1fuJEIpowYQIPYd+Rnp7ep02bqJkzmbv75y1bEtGAVq32jBmTMG9eyapV728jhDqE34Wj3Ib5unESUm3BFYSMsXnz2MyZrGHD0gWflpYsNPSTIhw+fJjbkKKhoeHre+fuXWZpWRpk7FiWmSlo+nUW1wht165dPMZMS2NhYaUFIWNs5EhmY8O++6703JGyN1VV1rcvW7/+RWho6L+ufHn16lW3bt24DTv/vP6svOLi0u9Dvm6K/gtv779Vg9zbypXM358FBLBDh9ixY3+9hYT89XbqFFu16m/PcnNjq1ezI0cEy/Vv1q1bR0TNmjXjZmXv3r1btn/K1taW6wxS68hdQRgYGNi6dWvun83a2vr69evvfqR///7l2jqcl5dX1iFGW1vb29ubazibl5fn5eWlqanJLft0dHR8/Pjxex/5xC2IXBnGFavcCtLKd6GogNDQUK41CBF17979ArdFHeCDli9fTkSzZ88WbghubduRI0e4td+LFi2qeKzHjws9PLjD4tvr6Dz55puuhoZEZGZmVtmdVAUFJStX6mlqEtHlWbO6dejA5VypmP8qOpp5ema6uCgrKCiKxS8WLy59fUWrp7qO20da+YWjoaGhRNSwYcMauFWhDnvxonTavqCAvXzJcnKYlxdr0KC0Nujd+0Pze9zEIPfqbG5ufufOnR9/zFFVZURMX58JvDijLsvNzeWu7jQ1NT99f9CH3brFmjdn9euzLVtKG3glJrKyg12eP2eBgczFhZmalrb66tfvPBEpKiqampo6OTkFBARkZmYyxvLy8rjGp61btxau/LC3Z0TM21uY6OnpZdODW4YMMWzUaFKnTo6mptzbot69XSwsuDf3fv28rK25t+8HDvQZNqzsbeeIEd/17fuwbMP86tVVsBfxwYMH3IFP77bKk8lkPj4+3Oo5bW1tHx8fodPgnRwVhNeuXeM25hGRsbHxyZMnr1y50rdvX+4jlemJcu/ePVtbWy6OoaHh8uXLubZU3K2CpKSk9/qX3r17t7xDZGZmlk0tSqVSX19fQbog/puEhISybZb6+vp+fn48Hs8KdVvbtm2J6OzZswLFf/LkCbf28vnz5/Xq1ROJRI8reXpXfPyrb7/t1KQJEVk2b/5o4cLmenpEZGdnV6mfuMuXw6dNI6KWEsm9BQuEOJWxVEkJW79++7BhRDS4dWvm7s48PJiXF6uOu0hQld68ecMtz166dGll4nCviZ6ennwlBhWWk8PWrGGNGpW1h3lz4kTwe485ceJE06ZNuYnBLVu23L1719LSskOH6QoKbOxYxvcqQrlz8eLF3n8ettCtW7fYcu1w+4dTp5iWFiNiPXuyj07pZWSwo0eZh8c+U1PTd8+QUFBQMDExKdu28/Dhw8qk9GH+/oyIDRwoTPTHj9n//sfc3U9OmlR23F/FSNTUcpYuLV04Ws52j+Ulk8m4zqKTJ0/+52cfPnw4cOBALqvBgwdX9oKkaslRQcht5FNWVvb29n706JGjoyO3Q69hw4ZlM3uVERgYaGBgwAXkfneEhYX9s39pZYaIjY0ti1aRPvvldP/+/X79+nFnqmhpaa1bt06gRpFQJ8XGxhJR06ZNee/PVmb9+vVENH78+D179hBRnz59eAgaGZm8YAHXiGW8sXHc/PkSbW0iWrhwYUWiPX3Ktm1jHh5fmZkRkauFheeECUTk4ODAQ6r/JJOxjRv7GxgQ0a6RI5mHB9u9m5Wr+SrUWlFRUdzC0cuXL5f3ubm5uU+ePPHz8yMibW1t7AyvOV6/Zt7eTCpllpZbiahz587v9h04ffq0SCTiJgbXr1/PLXH87LPPQkNr05VoDRcYGMjd5eeOp67YKi0fH6aoyIjYuHGsvDcDc3NzQ0JC3NzcrK2tuQtXdXV1roiK4bp/CSMjgykoMBUVJshygdxctnLlA2fnRurqRNRBR2eTjU3p1J+t7fqBA8tmBd369SubLVzQq1fZLKKjqeng1q3VFBWJaGyHDjI3N7ZqFeNvZ/6/2rp1KxE1atToA6v8AgICuEJAXV3dy8uryuZvKkmOCkI7Ozvuqq6wsFBPT4+IVFVVXV1deVyBWVBQwG3wnTt3bk5OzsiRI8sm1vz9/XmZWJPJZL6+vtxvBKFPiOIOwFBQUHB0dBRihTrUbUuWLCGieWVHGgmA20Fx+PDhESNGENGWLVv4iXvixK25c7VUVYno2z59zs+bx/Wa2rRpU/niPHrEPD2Zu3vxd9810dAgomtfftlJX5+IgoKC+En1PU+evFi8WFEsVlZQyHRxYbVzJwNU2OLFi4nI0NCwoKAgPz//2bNncXFxFy5cCAwM9PPz8/b2dnNzc3JycnBwsLW1NTc3NzIykkql3Lc3R1NTc+rUqdX9dcD7Xr9mW7bs4iYDiahr166HDx/mLipCQkK4iUHuU2PHjuW9vwhw+4O4kwakUmm5+vwVFzMnJ0bERCLm4lLZ3dzjxo0jot69e3PXtO7u7pUK9zG9ezMiduyYAMfPJCTkLF1q3LgxEdm0aVP83Xelyz5XrWLBwX9tF3x3G+HBgywggAUEMF/fsnYyd52cuBfrHwYNYp6egrZMe/bsmba2NhEdOHDgw49MS0vj/oHoz4XcwmXFFzkqCOfMmUNEW7duZYx5e3vb29s/evSI91EmTJhARHv37mWM9e/f/8PdSsvr9evXmZmZb9++7dGjx6d8R1YS1z9m9erVgo4CdVWrVq2ISLjtpvfv3+fWXqalpamqqorFYt62UshkbN++4EmTFMViItoyZMjemTNFIpFYLC7H4YQyGduwgXvFCp08mYjaNWqUMG8eEUm0tIQ6piU4eMuQIUQ0vF079uOPggwBNVhBQUHr1q3fXWD2iTQ0NPT19bmDdss6JUBN8+bNGx8fH+6ONhEZGxv7+vpu27aN29EklUqPHj1a3TnWZTdu3ChbpfX5558nJCR89CmvXr2yt3/NNYnZu5eHHH777TciGjBgwLFjx4jIzMyMh6D/bfPmE3p6zWfNmsVz3JcvS9asGdauHRG119HJ5np9r1zJPD0/tYnN4cNlWxAD7e1FRIpicfi0aUygm62MMcaGDx9O5TmGJDAwsGz+yc3NTbjueryQo4KQ23Ut9EZP7pYAV6olJSWlpqbyGHzMmDFEdPDgQW4Fc+gndh+rKG628+rVq4KOAnXSwYMHuZVLJSUlxcXFhw8f5n0IT09PInJwcPD19eVenvmMXlTEduzYMXw4ESmIxX9MmLBy9GgiUlNVvfiBhd85OSwxkZ07x/bsYevXF65YcXX27B3Dhxvp6HCTjQnz5jl07jyfp/Po3yeTsQ0b+jRvTkS/jxnDzp0TZBSo2WxsbLh5DFVVValUamRkZG5ubmtr6+Dg4OTk5Obm5u3t7efnFxgYeOHChbi4uGfPnmVlZT179iw5ObmoqMjMzIwEbgQlF7Kz2ZYtbPXq8p2r9mkKCgp+/PHHzz777N2Sftq0aVjoWwVkMpmfnx+3IFBNTc3Nze0DW2mePn3apUsXA4OhLVuWhIfzk0BGRoaCgoKysvLz58/V1dXFYrGgC7iuXr1KRLq6unw2j8jPZ5s3LzE3J6IGamp3nZyYtzfbto0FBZWjH65MxiIj2dq13FQhF62phsazhQvZtWu8pfoOf39/ItLS0kpOTv70Z3E9n7j1vZ07d+aaotdMclQQcufJ7NixQ9BRuEPthbj8ZYxxa1CPHDnC9bc9J/AFH7dk9MaNG4KOAnUSt6ylUaNGjLHx48cTkTffrcq478+goCAbGxtB7vXk5bHNm5dbWhKRupJS1MyZM0xNRSLR94MHs9DQ0nU/WVns9m125gzz92fr1hV9913c3Ll+o0Y59ehh3qyZmpJS2eWaporKwFatStzcmLs7E+gu/sOHKQsXikUiVUXFV0uXCr23Hmqgu3fvKioqKikpPXz4MDMz8/r16+fOnTt8+PDOnTs3bNiwfPnyr7766osvvhgyZEivXr3at2/ftGnTsvWigwYNYozduXNHVVVVJBIJfXZoXVZUxKysWEgIS0hgI0cyvkqBv3vz5s22bds0NDQUFBT27dsnxBDwX9LS0hwcHLir/DZt2oSEhPzzMZGRkY0bN+Ymch89esrj6Fyfmz/++IN77fP19eUx+HtkMhk3x1WuDvwfUlLCfH39R48mIiUFhTNTprCAgEqto33zhqWmFq9aZW1gQET9WrQoWrmS8ToZwxh7+fIl1+3/119/rcDTT548WbYNdeLEiTWzH4ccFYRTpkwhvs+T+SduQlmgZRvDhg0josDAQO4EaqHPfuB61sXFxQk6CtRJv//+O/diuW3btn379pV7veXHJCQkEJFEIklLS1NWVlZUVPzEc1zKJz1d5uU1pUsXIpLWr3/PySl40qTSTQ7e3mzt2oLlyy/PmrV16NCZJiZdpVKlvy/VE4tE7Ro1mtix42Jzc26Tw5fdujF3d1a55lL/KSjoh0GDiMjOyIht3SrIEFCzTZ48mYgcHR0ZYxs2bPjYQtFSampqurq648eP54L873//IyI9PT3MOFXQ+fPMxaX0/fh4NmWKcENxh2ZVoHU5VN758+fbt29Pfx5G/e5rUEBAANfgZ+DAgdl8t/VavXo1Ec2aNevHH38konHjxvEb/z3cbMqaNWv4CRcUdMXRUV1JiYi2Dh3KfHz4OSji5s20RYu4s51cLSzY5s2M16KLu8f9+eefV3imNC8vj2tAqqKi8uDBAx5z44viJ75g1AElJSVExPXMFHqUCmzh+BTFxcVccEFH+edwgo4CddLEiRPz8vIcHR3nzZt36NCh1atXL1u2bNKkSaGhoWVdvCtj7969RDR69OjAwMDCwsLBgwdzd+941rChaMiQX/LyUnJzQ+7fH7Z37/mpU+NfvIhNTY1NSYlNTb2SkvK2uPjdZ0jr1zeVSk11dU2lUvNmzRqoqRFjJBLZtm070N//5ytX2jVqNL9RI+rZk97p5MEDmYzu3NkfH09E442NydiYz+BQG9y/f3/Pnj1KSkqurq5EpK+v37lzZ4lEIpFItLW1/+sdiUSi8vdvxcWLFx85ciQ6OtrFxcXHx6eavpraLCuL/jzjinR0KCtLuKG4FhdZQg4B/6Vv3743btz44Ycf3N3d/f39g4KC3Nzc5s2b9/3333Onvzg6Ov7000+8X3YOGTJk+fLlQUFBrq6uX3/99alTp4qKipTeWZDCr6FDh+7cufP48eNLly6tbKyYmNRz50bs25dfVDS9a9c5VlY0YQLxknnHjk369j2QldXP13dtRER3Pb3ROjo0fjxV7kALTlBQUEBAgLq6+i+//FLhEzKKi4vv3LlDRHZ2di1btqx8Vvyr7oq06tjb2xPRnj17BB1l0KBBRCTQYhvu7sKpU6e4bR4V6C1eLrj1CJX03XffEZG6uvqlS5e++uorImrYsGFiYmLlIxsZGRHR6dOnuf20As78X7nCVq3KdnXlmqGJ//5ioCgWd2zSZEqXLpttbCKmT3/97bdszRq2cycLDmbXr7PkZLZ1a9nG9312dmKRSCwSHRw3jvn68twM7d69x998IyKqp6z8+ttvcQCZHJo+fToRzZgxo/KhyhaOBge/f/AdfFxSEvtzupUFBbEVK4QbasCAAdxvQuGGgI9KTEzkXomIqEmTJkSkqKjIW9frfyhbxhl348ZBO7uXpqbFYWECjcUYy83NVVJSUlBQSE9Pr1Sgx48L3NzM9PSIqE/z5m89PFh5NuN9XHEx2779+4EDiai+isqdefNYZGTlo2ZnZ3P7dTdv3lyZOLNnzyYiMzMz4Q7iqiS5myEUer5L0FHKglfN3F3V/B+DOszd3f3Jkye+vr7Dhw+/cOFCcnLy0aNHbWxsLl26xG2uqJibN2/evn1bR0fH2Ng4LCxMWVmZW6otiJISEom0VFVXWlnZBQQoKSi0kki4CUBTXV0TqVS9fn2SSkkqJV1dkkpJIvnbLcnZs+nWLYqPp4KC8WpqD7Kyvj1zZtLhw9L69XtraNDo0bzcvyQiio/fe+sWIxrRrl295s2pQQN+wkIt8fjx499++01BQcHFxaXy0QwNDd3c3JYuXTpz5sy4uDhuGgo+VZs21KEDffEF6etTXBzt3i3cUBKJhDBDWN3atm0bGhp67NgxR0dHZWVlNTW1gIAAW1tbgYYTiUQnpk0z/O035WPHOjRvTgcP0vHj9Oe5I7zbtm1bUVERER0+fHjWrFkVjJKdzfbtm3H4cPSzZy20tQ+NG6c8ahT92S+XHwoKNG7cgqysqOTkg7dvjztwIEoiUdfTo+bNKxN14cKFycnJPXv2nDt3boWDhIWFbd++XVlZeefOnTX2olqOCkKuiKrVS0bLgteB5a8gD0Qi0fbt2589exYSEjJq1KiQkJC0tLTLly/b2tqeP39eXV29YmH3799PRHZ2docPHy4uLh4+fHgD4eofPT0Si4no3KNHMsa+NjNbP3AgEZFYTIMGUZs2JJF86OliMXXuTJ07ExFlZy8Vi5/l5v4UHT18796L6uptGzakfv14SFImo4QErBeVZ56enoWFhVOmTGnTpg0vAZcsWRIUFBQZGblkyZLt27fzElOOzJtHKSmkqUlJSXTpEg0dKtA4KAhrjmHDhm3btm3UqFGWlpbCVYOcTiYmtHo1BQfTqlW0YQMdP05r1wox0M6dO11cXEQikZKSkqOjo4+Pj7W1tbm5eZ8+fcpxn6iwkPbu/d/p03tu3dJQVg60t9cZNIg6duQ/XS0tkZ3drpyc+Jcvbz1/7nj06G+amjR7NtWvX7F4586d+/XXX1VUVCpTyBUUFMycOZMxtmzZMuMa/OosRwVhHZghLKtpq3IPodBlJ9RtSkpKBw8etLS0vHHjhr29/f79+/v27RsTEzNhwoQjR45U7Hv4wIEDRDR+/PgVK1Zw7/Cc9Lv09EhHR5acfOj2bSKy517DFBWpVSsyMytfKG1tmjhx05s3yTk5RxMSbH777ZKqamMNDerWrbJJxsXdf/bsWmoq18uUjIwqGxBqladPn/r5+SkoKPCwyedPYrF4x44dXbt23bFjx+jRowcPHsxX5LpPJqNGjYiIXr4ka2vS0qLsbIGGwh7CGoXrJJmTkyP4SAMGkIoKRUVR+/akpUXx8fToEbVowe8gu3fv5g5sc3d3//HHH9PT02NjY2NjY4lIUVHR1NTU0tLS0tLSwsLi34vDO3coPJwyMkgmC05I+O7cObFI9PuYMR3Nzenzz/lN9S8GBhr9+wdkZfXcseP3mzf7hofP0tKi/v2pXj1q3PhTluQUFRXdvHkzOjo6Ojr6zJkzjDFnZ2ejSryqrlix4t69ex07duR2d9dY4upOoOrUgSLqvRnCWl3cgvzQ1NQ8ceKEvr7+hQsXlixZcvz4cYlEcuzYscWLF1cg2pUrV+7evdu0adNWrVpFRkaqqqoKfS+WOnQIe/QoJTe3VYMGJlIpKSuTvj6NHl2RULq6CuPH7xk7tsdnnz3IyrLdsyfv6FG6f79ieRUUFNw4c4a2baM//tgbF0dEo9u3V23enLDAT86sWbOmsLDQ3t6+Xbt2PIY1NDR0d3dnjM2cOTNbsJKmDhKLqX59kslIJCIFBcrJoZISgYbiZgjxr1NDcOcTZmRkCD6Shgb16UMlJXT2LFlbExEFB/M7wuHDh2fMmCGTydauXdurV6/c3FwimjRpkpubm7W1tVgsvnz58vr164cNG9awYcMOHTrMnj37wIED6enppc8PCaEjRygtjYqK7qSl2R86VCKTefbvP9zcnOzseNsr8a/69TPu3ftnW1tlBYVimYxSUmjPHvr1V9qw4b9ebVNSUo4dO+bq6mphYaGlpdWtW7e5c+f6+vo+f/6ciHx8fLZv384Yq0AuMTEx3t7eCgoKO3fu5E6IrbHkaPKnDhRR2EMItZSuru6JEyf69OkTEBBgYGDwxx9/DBw4cOPGjc2bN3d2di5XqJMnTxLRuHHjDh48KJPJbG1tNTU1hcn6T0lJ++PiiMje2JgaNyZbW9LXr3i0Nm3UR4w4kp/fa+fOmGfPJgQE/KGqqjBjBjVt+tGnFhYW3r17N/ZPV2JiiouLX7m61lNW5jIcb2xMeXlcX9OKZwi1SnJy8q5du8RiMS+7B9+zePHiY8eORUZGLl68+JdffuE9fp0lSlCwfAAAIABJREFUkdCrV/TqFWlqUlYW5eR8ZG15xcfBktEapOoKQiIaMoRCQ+nECRo6lA4douPHac4cvmKfPHly4sSJxcXFq1ev7t2796BBg96+fevs7Ozt7c09IC8v79q1a5GRkaGhoREREbdv3759+za3ttzAwMC6Vy/zt2/76es309LKLCgYvnfvqzdv7IyMXPr0IXt7njts/5NIRKNHT0pPN9fXT3v9+qfo6K/MzKikxDs8fH5hIdnbU8uWL1++jP5TTEzMu/9kYrG4ffv23bt3NzMza9Wq1S+//HL48OHZs2f7+/vv2LGjXDfdiouLZ8+eXVJSsnjx4u7duwvwpfKqenvaVKWqacbVrVs3IoqJiREiuKmpKRFduXLFwMCAiO7fvy/EKGW4V5rMzExBRwH5cfbsWe4O2ZYtWypzOGF0dPS9e/d69uxJRAcOHBAi1b/k5ha5uTWuV4+Ibs2dy+Lj+Ql7+vTtr76SqKkR0fyePdmGDezfzqrKyckJDw/39vZ2cHDo0KHDe3dnuB6n952d78ybR0QSNbW3K1awNWsYzg6VJ/PmzSMie3t7geLfuXOHO1HtxIkTAg1RB3XtyojY1avMwIARMcFerLkN1UKfRAefTlVVlYjy8/MFHykxkRGxBg1YSgoTi5maGsvL4yfy6dM/WVoS0dKlS6OiourXr09E06dP/68j+PLz88+ePevu7m5lZcX9rijTrlEjfS0tIuqup5e/bBlbuZKfUwc/RVgYc3f3HTmyhbZ2jKMjc3e3NjA4OG7cBBOTf576IJVKR4wY4enpGRoa+s9zIwMDA3V1dYlITU3Ny8vr09uEurm5EVHLli1fv37N95fHP8wQ8kzQuTvsIYRazcrKatu2bTNmzHB2dq7M4YTdu3e/ePHi5cuX69WrZ2NjI1zCRETx8Wfu33+Rl2fYqJGxnh7x1LGDrK3b5+b+kZ8/0N/fOyqqhba2s4oKWViQWHz+0aOrd+/GxsZevXo1KSlJJpOVPUlJSalj27amLVuaNGliqq7eWkMjKT09+O7d786dI6I+zZopKyhQYSHdukUdOvCTJ9RsqampO3fuFIlEPO4efA+3cNTFxWXWrFm3bt2SCDPTVddwy7azskonBgWbwcMMYU3ToEGDlJSUzMxMPX5baP5T27bUpg3dvUsPH5KJCV25QufP05AhlQ174QKNHDn37ds2K1c2Hj78888/z83NdXBw+MARfGpqalZWVlZWVkRUXFx848aNiI0bI69fD7l/PzE9XU9Ts6G6+uHx49WUlEhRkfLyqmhTQ1oa9+fC3r2/PXMm+IsviOhKSsq+q1eJSENDo3PnzqZ/6vDBV8xhw4ZZWFi4urpu377d1dV13759v/76a9euXT88/p07d7y8vEQi0S+//FKvXj2evioBydG1flUuGcUeQoB/NX369MePH69cuXLixIlnz559/Pjx9u3bJ0yYcPfuXZUPLiNJSUkpWyoZHR394sWLZs2aKSoqcrdjBRQfz3XvtO/YkQwN+TlCl4hEIhoxwjI31y831/7gwQWnTulraY3OzCRFRYe1a5NfveIepaioaGhgYGpgYNq0qWm9eu3q109MT7/98mX87dt7UlNjnj0rfGdvkm3btqXvFRTwkyTUeGvXri0oKBg7dmxHIVr2/WnRokXHjh2LiIhYvHjxjh07yvVcxlhWVlZ2draCgkLzyvV/r024OjA7+6/KUKhxUBDWLA0bNkxJScnIyBC8ICSiIUNo0yY6fpzmzaO0NB76S1+7RsOHU34+TZ06YOTIIy4umZmZdnZ23KL0TwnANZsxtbd3btu2uKTkzMOHg/396ysrSzU0iIhKSoh7pwoUFXF/NlRTG9O+/c9XrhDRuA4d2jRubLZoUXszs3Jd3EokEh8fn5EjR3755ZfXr1/v0aPHggULPDw8/uu6RSaTzZw58+3bt3PmzCk7o7KGQ0FYm0Z5bw8hjp2A2qjscMJhw4ZduHAhPz//yy+/fO+3KmPs7t27V69evXr1KjdX9l7XBB0dnYyMjLy8vAULFmzatEmoXHNyih49OpqQQERjjYx4nnZTUKBx48bn5t7Pylp25sykw4dDNTR66+tPNDbOLSw0adbMRCptXq9e3PPnV1NTY65f90lNTUxPl72zr11JQaFz06amUmnjevW66+mNNDQkIhKLK7XFEWqP58+fc7ftly1bJuhAZR1Hd+7cOWbMGBsbm4KCgqxP8/LlS+4Fy97efs+ePYLmWYOUTQyWVYbCQJfRmqZKtxFOn069elGvXhQaSvXrU3FxpaLdukUDBlB2NtnZkasrWVmNSk09+9VX5j/8UO7rQBMTunFDkbFBrVq1lEgeZmXdSU83btqU2ralKlt01rw5PXrEvTvL1HTo77/nFxV1lUq7Nm9OPXtWbJu9jY3NnTt3Vq5cuX79+rVr1x4/fnzHjh09evT45yM3btx48eJFXV3dNWvWVOaLqEpyVBC+W0RFRUUZGBhU5mjs//JuESWTyT7xnsonKluPKnipdusWnT5dUlRERAo//URDhxKvzetAnr13OGFkZCR3k/vdOcBLly6994IqkUiMjIzKFngYGRlFREQMGDBg8+bNLVq0+OabbwTJNT7+5L17mQUFXZo2ba+vT61b8xxfTY3s7L7NyHiWk7M1Jmb43r2nHRyGtWsXm5ISfu/exvDwhL9XgIpisWGjRqa6uqZSKfdftX/OWCooUM3fvA58WLduXX5+/ujRoztzB10Ko7CwUElJqV27dh4eHkuWLLGzs8vPz//0p4tEIolEIpFIdHR0hEuyxnmvIBR4hhBdRmuOKi0IO3Widu1o8GBavJgaNiRHR/rxR2rfviKh7t6lgQMpI4NGjqR16+jzzyk1lfr3t/r+e6pAb0yplHr3posXqajITE/v4f/ZO++wps42jN8JCXuFvZcM2QiKICqiaEURJ666Z9XW2uFqreAs2n7WrbhxoThKwQ2KA8QByFZA2XuFFSAk5Hx/HEXqaBkJVDm/i6sNkPM+T44k59zvs9jsJwUFVrq6EHVL8NbY2yMyUoLBYNLpdBpt89Ch31y/DiYTAwd2pumatLS0n5/fmDFjFixYkJycPGDAgAULFvzvf/+TbRX5zMrKIqsHDxw40I5pjd1NDxKELSKqrq5u0qRJHA7H19d32bJlwo2ztZadX3zxhYWFxaZNm4TVBbElH1W0gvDRI9y5Ax6vWSAAIFZTg0uXMGoU7OxEYo6i58FkMi9cuDBo0KCkpCQdHR0rK6vU1NS6urrWz9HR0bG3t3dwcCD/q6mp+c4igwYNOnny5LRp03788Uc9Pb2JEycK39Hk5LfT3nv3hijecbW1EBff5eGRVVV1PSOj36FDrRWgBINho65ur6npoKlpr6lpra4uLiMDVVVoaUFTExoauHsXmZloagIAMTHQ6Zg4EQoKwveT4j9GeXk52dNPdNWDJNu3bw8KCtq9e/egQYMAkHVEkpKSrLahpqbWAwvRo/T0Hjk56fL5HB2dAF1d79raZaIxpKioSKPRyDYYHyvxouhKulQQArh5E+7ur0sH16/H0aP4/fd2L5KVBTc3FBdj5Ejs2QN3d2Rnw9kZwcHocFHGkCHQ0UFIiKO29vnk5KcFBfN0dCAt3cHVOoC0NIYPH1RWdjAmRlVGZrC+/sOvvoKlJQYO7PzaLi4ucXFx27Zt27p166FDh8LCwg4dOuTu7g6AIIhFixZxOJwZM2Z4eXl13laX0YM+plNSUgD89ttvf/zxh62t7bVr11asWHHs2LE9e/YMHjxYKCYEAgG5dcrj8Z48eXLnzp3w8PCLFy9u3759+vTpnf+wjoiI4PP5enp6IhSEHA5u3wafLyAIAqDTaDQaDTwerl+HhUVHNoooKD6EgoLC1atXjY2N6+vrnzx5AkBTU7MlANivXz+NNoxhmDx5cmZm5tq1a2fMmKGhoeHi4iJMF9nsxtzc0LQ0AJOEni/agkAAGo1Bp29zd7+RkSHNZFqpqdlrajpoadlralqqqjIVFKCpCU3N1yLwnd2lKVOQmYnkZHA40NKCvT3k5ETiJ8V/jFmzZtXV1Xl5eZGtrblc7j9X4XaMurq6Xbt2kbPFNm/eDGDp0qXbt28XuqHPjAQxsR8fPVpqb6+jo3MvL29Ay3A2YSMmJiYnJ1dTU1NbWyvyATwUbaCrBWFZGdTVXz/W1ETH/tJYLOjpwcAA/v4YORJpabCzw9Wrna33MzbGiBGOKSkAHhcUoLCwq0ci1dffycrafP9+QknJYAsLTJ8OLS1hrS0lJeXr6zt+/Ph58+bFxcWNGDFixowZO3fuvHDhQnh4uIqKyo4dO4Rlq2voQYPpybETFy5cmDBhgq+vb0hIiJGRUWJioqur65gxY3Jzczu5/qNHjwYNGlRSUiIvLz9s2LAXL17ExMS4uLgUFhbOmDHD1dU1MTGxkyb09PQMDAzOnj3L5/NlZWUPHTrE72TK+Pu8ekW+XYvr6gDQaLRaLvf1r95kY1NQCAVdXd2oqKglS5acOHGivLycnAzr6+s7ZsyYtqhBkjVr1ixbtqyxsXHs2LFpaWnC9C8l5VpGRg2X66itbayjAyMjYS7egrY2ObQ6ND2dAMabm0cvWLBv9Oh5ffvazZjBXLkSP/yA6dPh5gYzs3fVIImREby8MG0aXF0pNdhD4HK5ERERAKytrcvLy6dOnTp16lRRGNq9e3d5ebmLi4uCgsK1a9dkZGR+/PFHURj6zGjp9dIFTV+ovjL/KbpaEFpYICHh9eO4uA5uXCoq4uZNnDuHsWORkgJra4SHC2dypra2g6YmU0wsqaSkvqZGdMW0HyYn535ODoDB+vqwtBSiGmzB1tb20aNHGzZsEBcXP3XqlLm5+YoVKwDs27fvk0uS70GCMDg4+ODBg/r6+k+ePOnfv/+FCxfIAV+ysrJXrlyxsLDw9fXltoif9pCRkTFhwgRnZ+eHDx+qq6urqqoWFhbOnj177dq1R48eDQgIUFdXf/DgQZ8+fWbNmlXeiZ3Ca9euWVlZzZ49m8Ph1NXVrVq1ysHB4f79+x1e8F0aGhAX19TYuOvRI8t9+5h0OgCzvXtPJiQQXC6ePUOrloYUFJ2nb9+++/fvnz17NnkR7Ri7du0aO3ZsRUXFqFGjSkpKhOZccvLbae/m5hBqPfBbZGXJ1nCvbZGXczExaGrCxYUSeBQfREJCwsLCAsC1a9fq6+tv3boVHBws9JYtHA6HnEO9YcOGDRs2EASxdOlSUdTef3609HrpArVG9ZX5T9HVgtDZGXw+li/Hxo0ICMDixe049s4dzJiBOXOwYwdkZaGkBHV1mJjg5k104or8NxQVpRQULFVV+QLBs6IiFBQIZ9m2IBAgL48UhK76+hBZi2Mmk7l+/frY2FgnJ6fS0tLGxkYbG5vJkyeLyJwI6c4hiN0Bh8Px8fEhU2sUFRV37tyZnZ09c+ZM8myYmppev3697atVVlauXr2aXE1GRmb16tW1tbXNzc0BAQEqKioAmEzm8uXL8/PzV69eTY7kVlJS2rlzZ3Nzc7vcTk1NHT16NOmkiYlJUFDQrVu3epNNBQFPT8+cnJx2nom/w+cTjx4Jtm497+1t+GZbaLC+vv2bwq1B+voJS5YQe/YQL192yhAFhQjgcDhkp69+/foJYQJsfj5x5gzn559lxMVpQPaKFURmpjDc/AgpKS9aT5bfsoU4epRoaBChRYpPn7q6ul69egHYtGnT0aNHASgrKxcVFQnRxLZt2wA4OzvHx8fTaDRJScnCwkIhrv8ZEx0dDcDJyenGjRsAvvjiC9HZGjhwIICbN2+KzgRF2wkJCSHvyrrUamEhkZFBtOvGsrCQGDaMqK8nCIJYu5Y4fZogCKKxkRDqZwhBEMTp04v79gWw44sviBs3hLz4P5CfX/TjjwBkxcV569cToh8Nz+Pxpk6dqqmpmZSUJGpboqDHCUKSjIyMUW/Gd9rZ2T148OD27dstgyk9PT2zsrL+eYWmpiZ/f38yIkyn02fOnPnOlbKiomL58uVkmZ+WllZAQMDz589HjBhBmnBwcIiOjm6Lq2VlZS3rsFgsPz+/xsZG8ldcLpeMcJJy1MfHp+VX7UAgIJKSiD/+eLJw4aA3OyjmqqpXpk8nfH0FPj4B48ery8oCoNNoM21ty1atIi5eJGpq2m2IgkKUlJaWGhsbk+9fPp/f8YWioogtWwhf38BJkwAM1NMjNm0ieDzhefoeFy/6DBkCYL69PbFrF5GfL0JbFJ8Rd+7codFoTCYzNjbWw8MDwJgxY4S1OIfDIYOBN27cmDBhAoDvv/9eWIt3MwIBkZNDxMYS6ekiemu/ePECgJmZ2ePHjwE4OjqKwgpBEEFBQdLS0jo6OkpKSn5+fhwOR0SGKNpIVFQUuY3S3Y78GxcuEDt2vH6cnk7Mni0qQxERR7y8AEy1siKOHhWVlfeJjDw3aRKAL4yNib17u8xsR+7D/xv0UEFIEhISYmhoCIBGo3l7e2dmZu7cuVNOTg6AlJSUj49Pw0c26UNCQozfNKAfNmxYfHz8x0zExsY6OzuTzyTLCENCQvT09EijM2fOLCkp+dixHA7Hz8+PLBNnMpmLFi0qLS19/2n5+fktEU4TE5Nr16614xTk5xNHj+Z+991MW1uyzldFWnrnyJH89euJjRsJX1/C15fYuLFqzZrVAweKi4kBUJKS2jlyZPPmzUREBNGZ224KCmGTmppKJmh99dVXHVwiP59Ug4SvLznWb8+oUcTGjcTt20L1tBVNTcTWrRaqqgBuzZxJPH4sKkMUnyNLly4ltzVzcnLIP/4zZ84IZeXff/8dQP/+/ZOTk+l0uqSkZEFBgVBW7mZKSog//iB+/ZXYupX49Vfi11+J58+FbqS4uBiAmpra5cuXyUuz0E3k5eWRuwAA1N+0FVFXV//tt9+EkCVB0VHIvQBTU9PuduTfaC0I09KIOXNEZSg9PXHJEgBGLBaxeXP7wpid4cyZpf36AdgybBgRGtpFRj9lerQgJAiivr7ex8dHUlKyJciWlZXVUp1vbGwcFRXV+vkxMTGurq7kb3v37h0UFPSvJgQCQUBAALnVymAwli9fXlRU1JK2ymKxdu7c+U5AQyAQBAUFGRgYtEQsMzIy/tlKeyOcRHU1cfly7U8/+QwZIslgAJBmMlcPHFi9di0RFESUlBCRkURAAHHyJBEdTbx6RRw48OLrr0f06vU6wqmlFb1gAbF7N5Ge/q9ngIKiy7h37x75ztrRcqlrFxcvEhs2NPv4PF20SJLBoNNoBT/8QPj6Er/+KmxP35CSkrBkCQBVGRmejw8Ve6doF3V1deTu5MaNG48dOwZAUVExv9NB5oaGBi0tLQBXr14li2G+/fZboTjczdTVEX5+xIYNr7c7ya8tW4hO1ly8B9mPoKW1uJycnEAgEOL6QUFBSkpK5D+3v78/QRBhYWEtA7JVVFR8fHzIWRQUXUxZWRmZv93djvwbhYWEuztBhrN++YU4e1ZUhurrm3185CUkAJSsXEl0Tdq5QED4+VmqqQGInDePSEzsCqOfOD1dEJLk5eW1LiO8cePG3bt3ra2tGQxG4ps/o/z8/EWLFpGD5pWVlXfu3MlrT6oJm81evnw5OY6JPDwlJYVsfAqgdVgvOjq6Jajo4OBw9+7dNppoamrauXMnGVH8W4SzuZl4/pwICyMiIojcXILLJSIieBs3+o8ZQ+aC0gBvS8usFSuIw4eJ3NwPry4QEPHxxPbtIdOm6SkokEfNtLUtWbmSOHuWYLNfGyotpe5oKbqXc+fO0el0Op1+8eLFNh7C5/NfvXoVEhLiM3q0p6mpkpQUAD0FBRVp6ao1awhfX2LTJoLLFYm758//NGgQgCX9+hEBASIxQfFZExERQaPRGAyGEBNHyV4y9vb2KSkpdDpdQkKi8yLzP0FYGLF5M6kDG9ete6sJ/f2FaEQgEBw8eJAs9GjRhPb29sHBwZ2XhUVFRWPHjiXXHDVqFPnv8ujRo6lTpyYlJT148MDNzY38rbKyso+PD5u8OlN0Fc3NzeQFqL2tIrqBmzeJ6dOJGTMIPz/RBu527RpiYADg6pdfEk+fitBQC4WFFatX02k0KSazcd06orq6K4x+4lCC8C3h4eHm5uYtQbaXL1/eu3ePIIi6ujofHx8pKSkA4uLiy5cv7/DGW3x8PDnbF0Dfvn0fPXp06dKluXPnkr9NT0/39vYmf6utre3v79+BD5TCwsKZM2eSF6FevXoFnThB7NpF/PorsWEDsXEjsWkTsWlT2KxZ1m8yTJx0dB7On0/88QcRH0/867Wqvp64fp2zbp3PkCESDAYAlpTUzpEj+Rs3EsePE1u2EFu3Eps3E7t2CX3DlYKi7WzduhWApKRkZGTkB5/A4/ESExOPHz/+zTffDBgwQEZGBn9HT0FBWVoagIeJCW/9emLTpn9/d3QALpfYvNlEWRnA3TlziJgY4Zug6AEsW7YMgK2tbUvi6GmyRUSHaGxs1NbWBhASEjJt2jQAy5YtE6K33cn+/YSvb7OPz5fW1pIMho26esqyZYSvL7Fhg7CKCbOzs8n51AC8vb1fvnzp7+9Pnk8AVlZWAQEBHS5yfj8wSEJKRDqdPmnSpISEhAcPHgwdOrQlOLl69erKykqhvDqKtkDuBWRkZGRnZz99+rRTNe2fBxcvrnJxAeAzZAgRHNwVFqOjL0+ZAsDN0JDYtasrLH76UILwb5BBNrKMUFpaev369UePHiVHorXUGXbeSkhIiK6uLt50oyktLa2oqGjdrdTHx6eebP3UUcgIJ3k9+GnQICcdnfqffyZ8fWfa2pJJ1QBMlZX/nDqV8PMjIiPbVw1YWEgcOdI6g9RRW7vpl19Sli3bOXLk8bFjOT//TGzZQmRnd+YlUFB0BvIWWVlZOS0tjSAIHo+XnJwcEBCwfPlyFxcXaWnpdxSgpqamp6enz5IlITNnFv/4I+Hr++rbb8kQ+nx7e2LTJqKiQvheJiY+XbQIgIasLN/XtwvaoFF8lnA4HDJxdMOGDZ1PHN2zZw8AOzu7tLQ0MTExJpOZ/Xl8mFdVEVu3vly+fFCrBvR0Gm2ypWXikiXEH38Qjx51RhYKBAJ/f3/y/kFVVbV1RQmXy/X399fR0SGNWlpatlcWfjAw2EJxcfHq1avJbWsajebp6fnkyZMHDx54enq2loUVovgQo3jDypUrBw8enJycrKenJyYmFhcXR949Ur15iejoC5MnkxusxL59XWHx3LkVTk4AfIcMIf76qyssfvpQgvAD5ObmtkTqSFxcXB4LtdlDdXX1Dz/8wGQyASgoKJCXEDExsUWLFhUXFwvFBI/H89+40VxN7dbMmYP09X8aNIjw9XU3Mro9ezZLSsrP3b1x/Xri+nWiY8qTzCD97beQadMMWawVTk7RCxZ4mZnFLV58ecoUdyMj/vr1xM6dQnkhFBQdgMfjkZNamEymubk5udvSAo1GMzY2njx5sp+fX1hY2Nv7JIGAOHmypa/Mk4ULZcTFQVal79olfMF29uyPAwYAWN6/P9GJkA4FRWRkJJ1OZzAYMTExpHLoWON7Lperr68P4PLlyzNmzEBnWjS1Fz6fyMoiUlOJj/da6yACARETI9iyxX/MGFlxcQDqsrJrBg5c3r+/FJMJgAZ4mpo+XbSow7LwncDgBzvAcbncgICAXm82Ui0sLAICAtpSexIUFEROt3snMPgOJSUlq1evbtntcnd3f/z4cWtZKCsru3z5cmHdY1C8A9lG/ubNm05OTgAePnxIdnb4RIcQCJPc3NzvvgOgJCUl8PEhoqJE25KQzye2beujqQngzuzZxMf7PlK0hhKEHyU8PJysGAwMDBSRibS0tBEjRsjKykpJSbm7u/9Dt9IOcvs238fn4fz5PkOGTLa0TF22zN3IiPD1rVm7lvD3Jz50xWof9fXElSucdetqf/ppbp8+qWTuja/vd87OD+bNI7ZsIag0FYrug8PhsN4M1XwbA/TxCQkJKSsr++hhzc1ERATh50ds3Ehs2BA6fboYnU4DAsaPJw4fJpqahOZfQ4Ng40YDRUUAUfPnE8+eCW1lih7J119/DcDW1jY7O5v8yz916lR7F9m/fz8ZwkpPT2cwGEwmUyh5Mf/OixeEnx/h50f8+iuxZQvh708IqydKVRVx8mTmt9+6GRq+FmyWluWrVpFXq5KVK1cPHEjKQgDuRkZPFi4kduwgHj9uuywMCgoiTziLxfoHwUbS1NQUEBDQ0qjcyMjI39//Y7KwqKho3Lhx5DM9PDzaEvUtLS318fEhuwmQsjA6OjoqKqpFFsrIyCxfvvwz6Rn7X4LMrz5z5gy5FxkaGjp48GAAbe8E8dmSlFT300/Hx47N/PZbwte3cPVqYu9eUc3ajYsjtm6tWrNGjE4XFxPj/PwzdSPaRuig+AjDhg0jH5A91kSBqalpUFBQXV0dg8EICwuztbUVsgEGg8xlB7B9+PA14eHkYzlZWXzxBVRVO7u+lBRGj5Y2N5cVFy/jcNTeFGJpyMqW19dDTAz19Z01QUHRUaSlpZOTk9esWRMQEFBdXV1YWBgaGurr6ztmzBgVFZWPHkanY8gQrF6NVauwerXnoEF7R40igAUhIeEPHiA4GAQhHP9evIjOycmuqtJVUHDW14eZmXCWpeipbNu2zdjYOCEh4cSJEzt27ADwzTff5Ofnt30FHo+3fft2AL6+vlu3buXz+XPmzDF8o6NESE4OLl1CYyMaG8HlgsdDcTGOHkVTU6eWJQjExhL79h26cMHmwIGIrCx1WdnLU6YETZ6srKAABgPi4moKCn6TJ+esWLF64EBpJjM8M9Px8OHhe/c+PnwYO3ciKgo83j9YKCoqGjNmzOTJk9lstqenZ3Jy8qJFi/7ZKSaTOWvWrNTU1ICAAFNT08zMzMWLF5uYmBw6dIj3d1sXLlywsrIKDg5WUFDw9/e/du1aSy3iP6B575TpAAAgAElEQVSqqurr6/vq1SsfHx8FBYXw8HBnZ+dVq1Z9//330dHRHh4eHA5n9+7durq6y5cvb8tZpGgjZBS3oqLi/Qfd7Fn3UlODkJCbr179EhFBVubPunABVVUICRG+radPcf06mpoe5OY2CwR9tbSkxcURFSV8Q58jlCD8KARBCAQCAGScUEQ0NzcDYL7ZnhQyvXrhjSDUV1R00tGJKSwEABoNWlpCs6KvDzExSzW1Z8XF5A+eFRVZqKqCx0Or+AwFRdejpaX166+/zpo1q2W/vB1ISEBCAl9++dXQod85O/OamyeeP58YEYE3GyudJTn5fHIygCmWljQTE0hJCWdZip6KtLT0iRMn6HT65s2bra2tx40bV1VVtWTJkravUFxcrKWlZWlpaWdnd/r0aTExsZUrV4rO4bdcvUrqrmaB4PVPCAL19Xj0qONrVlfj9OmsU6eGHTmyODS0rqnJ29IyZenS8RMn4vvv4e2NYcPg5YUffsA336h+/bXfwoU5333nM2SIvIREeGam05EjA/fsiSBl4d27aGhAXBxOn8bx4wgPR20tgAsXLlhaWl65coUMDIaGhmq1+cJKysLnz58HBQWZmZllZ2eTsnDXrl1cLrekpGT8+PGTJ0+uqKjw8PBoi858BxUVlRZZqKioGBUVNXTo0B9//PGHH34gm9sJBIJDhw61+6xSfBxKEH6YhARyF9XN0HB9RMTrH/L5SE8HlytMQ01NCAsjP0nu5+QAeFlZmcNmIzERPfyfoG0wutuB/y6kVCMHRYjaSkscT8hoa8PQULm01FJVFcAPAwa8YrPBZGLoUAhRgtrY4N6975ycZgcHP8zLy6uu7qWkZKqqCn19vNe6g4LiE0NODjNm/M7l5lZXX0pNHXXmzCMpKR15ebwZ+dVBCgqQmXk1IwPAZEtLFBTgzBkYGcHCAgoKwvGcoufh4uKybNmyPXv2zJ8/Pzg4+O7duyUlJVVVVYqKim05XFdXNyoqqry8fM2aNXw+f+7cuSYmJqL2GTxey+3a19eunU5MtNXQmGlj42ZoaBoRgRcvYGQEIyPo6aHtl+OEBOLatcPR0T/cvFnX1KQuK7t/9OgJ/frB0/N1KN7EBK1fmp4eZs1Syc31tbT82tFx75MnOx89isrNHRoQ4KKnt9HNbej9+9VcroK4OIDG7OzS8PCvY2JCb98G4Onp6e/v33Yp2Bo6ne7t7T1hwoTAwMAtW7a8ePFixYoVfn5+HA6ntraWHFM8a9asDqxMoqys7Ovru3z58p07d+7evTsqKsrd3T04OPj69euysrKEsJIdKAC0EoRkLxlKEL6muBh8PgAXXd2HeXlxRUWvfy4QIDYWzs54M5qls2RlkcozKjd375MnAEo5HKcjRy5Pn+788iWUlYVj5fOFEoQfRbRSrcusTJ5sShAST58OP3nSSk3tiJcXhg3r7L3sO8jJYfRo9dDQy1OmPMrPV5eRsVRXh4wMxo8XphUKiu5CVZU+deqphoai48cf5uWNDQy8JyUlq6CA3r07slpdXeXZs3UZGXqyss8WLz4eH2+vqZmZl2dUV4fs7NLQUKneveW8vamAIUXH8PPzu3HjRkJCQkBAwP37983NzduyrcnhcNhsNpvNrqqqSk9PP3nypJiY2Jo1a7rAYRAEaDQQREZl5ZG4OL5AEJWbG5WbC0BdVnawvr67kZGLrq6lhgbU1V+LQ319tL5oVlUhPR0cDlRVoaOD69eznzyZ/9dfd7KyAHhbWu4fPVqlb194ev7L26pFFtrZfePouPPRo92PH0fl5g4LCFjct++l1NQjXl5je/fe++gRh8cLjYhgKSr6bdvW3tjd+4iJic2YMWP69OlXr1718fFJSUkRFxcfMWLE0aNHWxqTdgYlJaWNGzeuXLly//79gYGBHh4e4uLiUlJSDQ0NDQ0NUtRHjZBokX9kL5mKigqygVBlZWU3e9a9SEq2PNw2fPi8v/4igJjCwv1Pn66rrDSKj4eLC2xsOiUL6+rw6BGePInMzNwWGXk1PZ0AxGi0Abq6D3Jz3Y4dO6ikNEe4972fI5Qg/ChdIwj5fD5EGocUE4OTU3VkZHhmZimHAxkZIatBEltb1NQ8PXZsWECAq4HB3SVLsHRp608BCopPGwMDqUmTQhobBxw9GldUNDkoKERCgjF3Ltp7u1ZXh4MHbz15svLmzeSlSxUkJUPT0mbb2q64cSNk2jTw+ceePrUrKBhZUYElS6h3EEUHIBNHBw0atHnzZnt7ex6PV1VV1SL2Pvbgneo1PT09BQUFU1PTrvBYXBzS0kRNzdKrV/kCwQhj47FmZvdzcu5mZ5fU1V1ISbmQkgJAX1HRzcDAzdDQzcBAV0UFGhrQ04OREXJz8fAhCAJ8PhgMgs8/HBv70cBgW9DTg56esovLJiurVS4u+58+3RYVNcTA4GVl5b6nT4cZGQHor629x9PTe+lSdQ8PYZ0GOp0+ZsyY0aNHa2pqlpaWHj9+XEtLi8PhSEtL04QRQiEnT6xatYpcjcViNTQ0sNlsShAKi/czRZ2cBqur2zU1fbxk/bOnpgYvX1a8aSehISvrYWz8v+jojXfvhqann05MnGlj83N6upGpaQdlIZuNx48FMTGXk5K2R0U9LSgAIEajNRNELyWl4+PGHY6L2xYZOdfPL7q4eN/hw6JO+vukoU7NR/lMIoQABAKyMEOMTofo6iFZLD5phUaDrCx1L0vxuWFtrezhcZ3LdT5y5HpGxlfBwUckJTF/PhQU8K/v39paFBWhsBBxceBwQBAeJibr7tzZM2rUB54sEIDDwd27GDlSFK+D4rNnwIABCxcuPHLkiJeXVxsPkZGRYbFYioqKLBaLyWTeu3cvPz///v37ZJtEkaOgEPDgQXhmpoq09JkJE1Skpcl5uZlsdnhmZnhmZkRWVk5V1Yn4+BPx8QCMWCwXPb2BenojjY31WqVYZ5eXvxsYHDAAX3zRkeuRnh5mzpTLz19969ZXffvKiosHxMevcHLacPcuOZ706759/7nfTMeg0+kqKiqlpaVsNnvgwIFZWVm5ubnk4GKh0KItFRUVCwsL2Wx2x5JdKd5HTc1hwIAsOTkpNTVZbW0ehwMWi1FSMj07u7s96y5qaxEQsOvWrQ337p0YN26wvj6Apf36qcrIOOnoaMrJHXv27NizZ6cSE6daWf3y4oWJuTlcXWFu3iZZmJ+PqKim1NRzSUm/PnjworwcgKqMzNJ+/caYms7888/nZWVOR45cmDy5F4v19bVrh06cyMnMPPfXX23Mn++BUILwo4g8dgegawQhQTQTBEipJqxc7fcRCEgrDJHKTgqKbsTV1ai6+kp9vVtAwNG4OCMW66eGBgBgMmFtjeHD0TLtsEUBFhWhsLCpujqppCS2qCiuqCi/pmaGjY2zjs79nBxyOxNAfHHxnOBgAEklJXYaGmhuRlZW97xGis8CZWXl5uZmeXn5Xr16sVisFrH3sQfi4uKtD/f19d2wYcOcOXMSExNlZWVF6+vLlxXp6avCwgDsHDlSRVoa4uJgMDB5slFz86LMzEW5uYL8/KSioojs7IisrPs5OZlsdiabfSohAYC5quoQA4MhBgYFNTU+d+/WcrlqMjL7R4+e6OjYvsDgB9HRgZeXgr8/WQT1hbHxifh4dmOjlZoa6HSI5syQEyyqqqrIM19VVSVEQfi+FaGv3GNRVFR5+FDFwACKiigogLLy67K1HlpCyOHg5Mk9169/d+MGjUZjNzSYq6uDRhOj06eOHg1LS//evde+ePHrgwfHnj07lZBwLjl5qpXVL8+fm/Tu/S/RwtxcREXVJCUdf/bst4cPC2pqABiyWN/277+wb19pWVnw+Y8WLPjy0qUr6elfnDq1f/ToO7NnTzh//ub9+442NiG3bvXuWLnH5w4lCD/K5xQhJGN3opVqXROHpKDoRmg0jBnTr7Y2sK5u/Pnz627f1pGXn2Vri6YmxMcjLQ12digtRUEBr6YmvaIitqgotrCQ/G8jn9+yjJeZGZNO3zZ8+JzgYLKrg52Gxolx4wD4RUYCAJ0OdfVueYkUnwE1NTUHDhxAq0lo7WXdunVXrlyJjY396aefdu/eLWwHW8Hj4erVFTdulHE4I3r1+tLBAc7OUFeHqenrFjJGRgDojY22OTm2WVkrsrKai4tflJdH5eWFZ2aGvXr1vKzseVnZgadP5SUkarncqVZWe0eNUlZVxbJlwklUUVaGtDRqasjvtg8fbnPgwCQLC4iJwdxcCOu/BynV2Gx2ywORWhHF4j2TFvn3/oMeB4eDgIAjt259e/06gD2jRs0eNgxz5rze6yFvEfv2NcjI+KAsXJ+WZmxmBgcHFBQgLQ08HuTl4eICJhPR0cWZmQdjYnY9elTV2AjATkPjO2fn6XZ2DGtrDBoEZWWkp8u/ehXs6PjzpUvbTp9eEBKyyMHh0YIFk4KC4vLyBvTrF3T5svvw4d17hv6DUILwo3wmNYQACKIrpFrXxCEpKLoXOh3e3mNKSvbW1i65cmVBSIiWnJy7kVF9Y2NiTk7snTtxRUWxRUWpZWW85uaWg8TodHNVVQdNTXtNTQctrZyqKr5AoCYj42lq+kd09N/WJxtskK2AKSg6xK5du9hs9tChQzuc8MlgMI4ePero6Lhv376JEye6uroK18O33LkT8ezZmcREKSZz/+jR8PBAnz4feJqkJMzMyHCfWH29ZX6+ZW7uolev+IWFMYWFEVlZex4/Lqqr+9bJaSeZaK2qKrSyBRoNEybgzJm5ffoA0FVQODNxopmaGqytoakpHBN/h0xpY7PZ5AMRBfFarIhi8Z6JvDzExVFbCzk5oCcLQg4HAQFHb95cHBoKYM+oUUtHjsTs2e9G1Gk0mJrCxOSjstDV1VhJ6fWTq6tx7VpGRcXeJ08OxcaSG6wuenqrXVzGWFujTx8MGICW4VJmZjAzEwP8xo2zdndfsHDhodjYrKqqv6ZOXX7jxp/Pn48cOXLLhg2r163rwpPyCUAJwo/yOUUIuyhllIoQUvQEJCQgLv5V376b7t0rrK394tQpbTm5oro6fssINUCMTrdSUyPln72mpp2GhqysLNTVoaUFaem88PBmLhfAYgcHIxZLmsn8wdmZPNDLxoalooIFC0DVOVB0iLq6OjKm98svv3RmHVtb259++snX13fu3LmiShwtKWmIiloYGkoAvkOG9OrTB3Z2/36UtDRMTWFqCnd3xp49TnS6k45OYW3t3idPXt8+MpmdzRR9B319zJo1WUxsa1jY/qdP17u6jhoxAp6ewjTRipZkzi6IEFIpo8KFxUJJCRoaICWFhgZISoJGQ2Xl642+HkF9PU6ePH7r1qLQUIIgdnl4LCPVIKmSW+BwcPMmnj8Hnw8ZGTg5Gbi4+JuYrM3I+KAsjMzNbWkfSqfRPE1N17u69uvdG05OcHB4W6zxHl/Onm1obDzRyyvs1Su3gIDgadP6a2uvDQ9f88svL9PS9h09+k62fE+GEoQf5fOpIewaqdY6MbWnfPJR9FS43Lzq6uK6OhqNJiCIvJoaGtBbRaWftraDpqaDllYfDQ0ZeXloar7+0tICi9XyvtAdNAgZGUhIEMvLG2lqCoHA1cgIsrLQ17ewtYWREfUOougwu3fvLi8vd3FxGTJkSCeX+vnnn0NDQ0WVOEoQ+OuvjRERryorrdXVv3Nxgadnu//yx4zB2bPg8VhSUgDYDQ2g0SAtDQcHIXurowNLS+716wU1NcW1tVBREd2blEoZ/XRRVkZJyevYYH4+qqshL4/qatTU9Iz5so2NOH36xK1bC0JCBATh5+7+zYgRmDXrA2rwwAE0NIDcReVwcP8+DAzw1VcGL1/69+79Y0rK5vv3zyQlnUpIOJeUpKOgkMVmA5BhMufb23/n7GxgaIj+/eHg0JbZpANcXGISE8d98UVMSorzkSNnJkw45+09Nzj4yOnTz1NTL127pk4VaACgBOE/0JUpo6JuKvO2/2fXpIxSEUKKzxsWKygsTEAQE83NJZnMM4mJzrq6UfPng8GAg8NrBfgPt4xkqkzX9PSn6ElwOJydO3cC2LBhQ+dXYzAYx44d69evn0gSRx89SoqP/190NJ1G8/f0ZLq5QaX93fkNDDBxIi5eVJSUBMBubISUFObPB5MpTFdJJCVJK1VcLshuUqKBShn9dGldPZif//pBdTUqKnqAIGxsxMmT58PCSDW4ddiw1aNHY86cD7zy0NC3apCEx0NODl68gIUFTExMYmIClJV9hwzxi4w8EhfHa25WkpL6pn//bxwdlRUVMWECTE3btSOjra39ICZmwZdfnrl8efz581uGDr03d+64c+cex8en/PGHuq4umpqgo4NBg6ChIYxz8UlCCcKP0pUpo6KNQ7bu//kfTBnlcPD4MbKywGDA3Bz29m3Z8qGg6E5cXM77+ACYbmNDtjqcZm0NcXEMH46+fbvbOYqey969e8vKypydnYcNGyaUBW1sbH7++WcfHx8hJ45WVwsiIhZfucJrbl7ev7+znR1cXDq4lJkZBg9mPX0KoKqxEVpa74YjhIWk5Ns4ZGOjSEwAaJXMaWhoCCpl9JPig31lqqvB4XSvXyKjrg6RkXj1CgIBuNygJ09mXL7cLBBsGTZsracn5syBoiIaG1FairKy11+lpfyamkw2O7m09GxSEr+5+fDYsarS0mhqQlwcLCxAo8HBAbduGbJY/mPGXElPz6+pSVy61FpNDTQarK07lhAuKSl56uJF602bfvL1XRMePs3a+sHcuTGFhUOlpGoLCmq4XO3aWmRkwMsLVlZCP0+fBNSd90fpitjd55Qy2rGmMoWFOHkSfD6vqYlBp9MKCvDoERYsgLS0qPykoOg0meLiMYWFchISLrq6X166RKfRJtjYoFcv4SeqUVC0mfr6+h07dgDw9fUV4rI//fRTaGhoTEzM2rVr9+zZI5xFr13bFxkZnZenJSe30c0NXl7/PszzH5CS6gqpJiX1Ng4pekFIpYx+iixZgnHjoKWFX3+FvDx0dHDuHNko93OkpATHj4PHI2N9F1NTv7x0iS8QbBo69KdJk6Cmhj//RGkpv74+t7o6pbQ0tawspawstazseVlZfasZnpXnz9+fOxcAamtf/4hOh7U1kpIaGhqK6+rExcTMyfQBBqMzW640Gm31+vW9zMzmzJkTmJRkq66+euBA37t3X1VW6ikoxBQWnhw/Xj0kBPr6otpU+m9DCcKP0hWxu66fQ9g1NYRts1JXVUU7cYLR0LAoNJROo3F4PBt19XVubrh4EbNmicpPCopOc/70aYIgxpqZ3Xz1qpHPH2pmpjVzJiwsutsvih7NgQMHSktL+/fvP2LECCEuS3YcJRNHvby8hne+XXtyclFs7C8REQD2jx6t4OICPb1OLSglxWqRaqJL5pSUJK1UidRKK6km0pRRShCKAvKdt2YNHj/GnTuoqsLq1bhwobvdEgUEgcBAcLnkd5dSU6ddvMgXCNYPGTLB1fXCnTupZWXkV3pFRVOrntsAaICBoqK5qiqXz4/IyoopLCyoqdFWUICq6tsnjRyJzMyMggIBQfRSUmLQ6WAyMWRI51M6J02ZYmxm9tuqVd85OWVUVKSVlwdOmgQg7NWr/0VHb/fwQGJixxMWPmUoQfhRPpOxEwSBnJy3EcLqajQ1QRRdlZqa3lppnRr+hurq6pcvX6YkJ6c+e5aZlpby4sWLnJx9o0cLCMJFT2+RgwOAOcHBcfn59qSfn3/GPcWnyvnTpwFMsbI68PQpgCnLl1NqkKJ7aWxsJMOD69evF/riNjY269atW79+/aJFixITE+U6tn1eXY3oaGRmorJyy4MH1Y2NE8zNx/btC3f3zvr3prpPtBHCrkoZbanuE6lmo2oIRYqpKY4fx/jx3e2H6MjNbXkXnE9Onn7pkoAgVKWlf33wYOPdu62fSAMMWSwLVVXyy1JV1VxVVfbNXejE8+cvP3++LSpq96hRcHR8e5i4OJyc0h4+BGCmrAxJSUyb1tmdozfY2dmdOXECJ048Ly+3e6Mw+2pp7Xr8GHw+SkqEYuWTgxKEH+UzGTtx6RJevHgbu6urw8GDWLz4H7r0doT0dERF9dXS8nN3t9XQQHZ22Z07KXT685SU1GfPnqekpGZkFL03i0dcTKyyoSGTzW7puT9YXz+uqMjewAClpZQgpPhvkpaWlpCRoSgp2VdLKzwzkyEmNm7SpO52iqKnc/DgwcLCQnt7ew8PD1Gsv3bt2pCQEDJxdO/eve0+Pju78dSpKg5HQ0oKwI8DBqhKSy90cICHhxAGBr6RalUiTebs2pRRauzEJ83ixVi1CoMGdbcfooPNBkEAEBDEw7w8giAAlNXXA9CUk7MktZ+amoWqqp2Ghqy0NFRUoKoKNTWoqEBZGSEhKC1FU9NGN7fgFy/8Y2K+c3IyrK//m4mKirSKCgCmysowNRWWGnyNlBQAVWnpu2/qO4vr6lSlpUGjvTsvscdACcKP8jmMnXjxAhkZaG5+mzJKEKipwa1bGDNGaFbKy3HxIpqbwzIzo/PzU8vKyuvrZ763Sy3NZJqrqpqrqFioqvZWUbFUU2NJSpZyOEefPat+k3XAbmjQJ8evUZNhKP6rnDt5EsAEc/Mr6elNzc1fDByopqbW3U5R9Gi4XO7vv/8OwNfXlyaazmEMBiMgIMDBwWH//v1jx45tX+Iol4tz557l5Iw6cyZ12TJNObkFISHhs2ZBUlI4ofXWKaPNzeDxRNRl9G3KqOisvJcyStUQfoqIiWHTJgi1mPc/hqws2S0ir7p69+PH8uLi+zw9ybs7aQkJKCtDVfW1AlRV/UDP7Xnz8OwZ4uMtxcSmWVufSUzc+uDBYVNTmJm9fWZFRXpFBQAzUkMKFxYL0tKO2to+d+/eePlST0Hh59u3V7q4gMFA795CtvWJQAnCj6KiorJo0SKyzZfoEK0gjI1FUxOAkro6AHk1NaRJJCV1ZOLTx7h/H3x+LZcbmpZ2b+5cgiASS0oUJCWNlZSMWCwyQ8BCVVVDVja7qoosKT727FlqWVkWm60pJxc8derWBw+Ojh1bUV8f/OLF1S+/BEFAW1s4vlFQCJugwEAAU6ysfouKAjBlzpxudoiix3P48OGCggI7OztPkU1LB2BhYfHzzz//8ssv7UocJQiC/ehRVUWFgCA8TExWhoWdnjDh9e/4fLDZYLE665mkpKy4OINOr+Ny+QIBo7FRRIJQTkKCKSZWy+XympuZIrICyMrKMpnMuro6sqercIN4zc3Nt2/fHjFiRIsVHo/HFM0L6eE4O+PYMfIW7HPEwID8PxnEs9fSmmFjAwBMJr7//t/D/jQa7O1hb4+kJN+ysqCUlOPx8T8+f26WnAxr69fPqahIKy8HmTIqdEEIYOxYscDAy1OmnE1Kii8u3uDmZqOjg169hByK/HSgBOFHMTQ09Pf3F7UVDw+P5ubm+ncC5cLizYWEbOgUlZs7688//zdihKqMDCorhfYGy8wEQchJSNBotFVhYQvt7W3U1ZOXLn1OtpMqL4/IykopK6t47zXKSEpqKilZa2n9OGDApnv3pJjM0xMmyMvJwd2dmjxB8d8kKSkpNStLRVraWl39bna2OIMx9nMuE6H4BGhqaiLDgz4+PiIKD7awZs2akJCQp0+fTp8+fdu2bTU1NWw2u6qqis1mf+xBi575a9o0M2Xl2qamGy9fvl6OwUBFhVAEIY1GU5CUrKivr2psVGloEEmTQElJAAoSEuX19dVcrqisAAAUFRXLysqampokJCTq6+u5XK6EMKo8UlNT586d+/Tp05s3bw4fPlxeXr6ioqK0tFSb2oEVKl9+CV1dANi2DWlp3e2NiGAwMGECzp9/rdnILqBMJry82pcEbmVlbG4+29b2SFzcpvv3T5uawtISdDp4PNTUpLekjHZgSOm/YmiIqVNlg4MXOTmBTgefDwcHdL5p1icLddvd/dDpdKENd3oHJSWUlwNY5uh469WrqLy8UwkJ1zMytgwbtuDgQbqrK5ydO9Xsu6YGt2/XVFZeTE2d16fPndmz72Vnz/zzz7MTJ35x6tTLysrWz1WQkTHW1TUyMrKws7O0s7OwsDA3N6cTBK5edWEyXUxNQRAQCDB0KPr16+TrpqAQEedPngQwycLiz+fP+QLBmCFDlJSUutspih7N0aNHc3JyLC0tvby8RG2L7DhqZ2d35cqVK1eutOUQGo2mKCvLYjJ5zc0AfFxdx507R5a1g88XzoQhOh3i4qwWQSiiAj86HeLiipKS5fX17IYGUVkB8EYQVlVVKSoqlpSUVFVVqaurd2bB5ubm33//3dfXt7GxUU9PT1xcPCQkpLKyEkBWVhYlCIVLS4hLSQlvOiR8jpiaQk8v/coVkEE8WVlMmgR9/fYtQqNhyBDfjIwzSUmBSUkrU1Nt4+Nhb4+KipK6uqrGRpaUlKqMDER0nTUywvffo7ISTU1QVhZRzP9TgRKEnzWOjsjORlOTvIRExJw56RUV316/fuPly8WhoQdjYvZmZQ149gwjR8LEpN0rNzXh4UNBZOTpuLhVYWEldXXacnIuenpuhoYD9fQy2WwXPT0tJSVzJycLe3sLa2tzc/OPXnK8vDBsGAoKwGBAR4eqHqT4LxN0/jyAKVZWPhERoPJFKbobHo+3fft2AL6+vnTRTRVqhbW19aJFiwICAtTV1TU0NFgslqKiIovFannw/rdgs7F/f3RWVnJpqZyExFd9+864fBkA+HyyL4UQ6IIWoFVVEAjedq+5eRPTp0NGRhSmWgr8IiIipKWlVVu3428/r169mjt37oMHDwB4e3v//vvvmzdvPnLkCEEQOjo65ubmwnGaogdSX/+274ubW7vVIEnv3trm5gvt7Xc/frzh3r3LZmawtX1bQKisDAUF0Uo1alcXACUIP3N69YKtLeLjweMBMFVWvj5jRmha2vLr158VFQ08enSGre1vueaimsQAACAASURBVLnq9vYYObKteTsCAWJjcffutYSElbdupZaVARisry/FZH57/XpTc7OmnJybgYEhi6W0cCHL0rJNa8rIwNS04y+TgqJLiI2NzcjL05CVNVZSisrLkxQXHzN2bHc7RdGjOX78eHZ2toWFxYSWwjzRc+DAgQMHDrTjABYLAwcacTieYmIgCG9Ly6bm5or6+oupqYsVFLBwoRBklahHEdbV4dAh8PlvrRQX49AhLF0q5JbdAIDc3FwA33zzzY0bN1idSKkVCARHjhz57rvv6uvrNTU1/f39JSUlBw0alJubKykpuW7dupUrV4pTm7AUHYMgUFkpnL4vbm7r0tOPPXv25/PnT1JTHWNj0dCQJrqOMhQfghKEnzujRsHICFFRYLMhJQVLyzGOjsN69doeGbktMvJUQkJoWprvkCHLMjIYjo4YOvRtgK6pCRUVUFH528ZMZiZu3nyekrIyLOxqejoAE2XlLUOHTrKzoxHE4F69iquq6pqa1oSH//7w4S5d3eVtFIQUFJ8C5wMCAEy2tLyYmtosEIwbOlReXr67naLo0QwfPnzhwoUjRozomvBgx3F1VWex1O/cQW0tBILJlpa2Bw8+LytjionNk5PDnDmdKl4gCPB4b0cRJiTA3FzIySa3b5PtQd5aEQhQX4+oKAwdKkxDAICJEyfu27fvyZMnBgYGy5cvX7FihXL774lfvXo1b968+/fv401gcMuWLYcPHyYIwtHR8cSJE1RskKJTVFc3NDTkVVeLi4kZKCp2Srb16qVqabnM0XFbZKRPRMR1MzPo65PViaYi6ihD8R6UIOwB9O79ThddaTs7X0PDGTY2K27cuJqevuLGjYMxMbs9PIY/f46hQ2Fri5QUhIS8bkM6aRKMjVFWhrCw8oSETffu7Xv6tFkgYElJrXZxWTFggES/fnBzA5N5/o8/vtyxY4K5+SQLCwCBAQHLf/ihW14xBYXwKSp6/uABgMmWlj/eugVgyty53e0TRU/H0NDw0KFD3e1F27CxgY0Nma7CPHNmlYvL3ODgr65cMVRUdFNS6vgMb4LAuXOoqnqbzJmTg0OHsGiRMDVhWhqamwE8Ly8H8KSgYIqVFfh8pKSIQhDu3bt3wIABgYGBV65c2bx5886dO+fNm7d27VqNN0O0/5l/CAwymczvv/9+06ZNVGdRis5SXp5RWSkgiF5KSgwpqc6O73NzW/PihX9MzI2XL+8lJ7uyWG9TRilB2CX8t/cUKUSEpibmzjWeN+/KwoUh06YZsVgvystHnDo15uDBvIAAHD6M4GA0NYHLBZeL8+dx8WL97t3bjh/vtWvX7seP6TTaIgeHtK+/Xj1rlsTXX8PTEzIyEBcfNHMmgNC0NFd9fXkJiUdJSS9buslRUHy6EARCQnD8eOi4canLltlpaFQ1NspISIwWZYt/CorPEyYTTCYmT57j5vadszOvudn7woVXd+8iKqqDC6akICsLAsHbZE6BAFVVCA8Xms9cLrjcqsbGxaGhSSUlAFRaeuG8GaIrdKZPnx4aGvrw4UNPT08Oh7N7925jY+Nvv/22qKjonw989eqVm5vb4sWL6+vrvb29nz59GhUVNXLkyNzcXFtb2ydPnvj5+VFqkEIIvBkLIZwgnp6eoqXlCicnAOvu3IGY2NuUUVG0GKV4DzHfz3lwJsXHodGgoQF7ezMFhSXa2ipSUpG5ucmlpYfi4pqqqhgAnUaTl5Co4XJTSkoiY2LGnzt3MTWV29zsaWoaOn36bA8PmalT4erauvZDTk7uzpUrr/LzrdXVmXR6YkmJOos12M2tG18lBYUQiIxETMzdjIw14eGP8vPjiouDvL1nOzqquLt3Ks+NgqLHwmTCyGg4hxOXl5dQXByWmTlDTk5SR6cjd37BwaiuBhCalva4oEBLVna8uTkIAhUVGDhQCK5mZOD06cvx8R5nztzPyZEVF59qZfX7iBGvJ3zo6YEcvyYadHV1p0+fPm7cuIqKioSEhMePH+/duzcvL8/e3v79fHWBQHD48OHx48e/fPlSU1PzzJkzrq6u48ePDw0NZTAYK1euDAwMpBqKUgiNxMQ/b9+OyMoaa2Y23N0dnc9AVlXtW1R0NC7ueXm5k6rq/uhoAL+PGMF0d2/fKAuKDkEJwp4NgwFjYzFzcydx8VkGBuX19TGFhZlsdkld3aXnz6dbW79is/c8fuwXFVVSV9dXS+vcpElrRo9WmjABo0Z9sAkNl8+/cu1aI58/397+bFJSUU7OshUruv5lUVAIDYEAgYHsmpolV69e8Pb2trTMqKiIzM31MDWFvDw0NbvbPwqKTxMZGZqq6hg+PzQtLbWsLL64eJq4ON3MrK2JZ3w+kpNx7VpjTs6fz5+vuHEjMDlZX1Hxfk5OeGamgYKCobw8mExoaHR814bLxY0bVSEh3/711+qwME5T00A9vWtffjnf3v61GmQy4ekJRcUOrt9mNDQ0vL29x48fX1FRkZSUFBsbu3fv3vz8/D59+rSWhbNnz96yZQuPx5s3b15QUNCFCxcWLVpUUVFha2t79erVGTNmiFEbWBRCJDr6yJ07iSUl8+zt+wwb1sEWo62RkxMvKyPKy8MzMxPy84vr6vQVFX90cYGuLtTUhOExxT9BCUIKQFYWffrIGxqOl5Z2VlX1MjNLKSszYrHK6us1ZGUTSkpm2tpOtrTc4+Wl7+EBb29oa+Mj44+NevXauWPHq8pKP3f304mJOWVlEyZM6OQAJQqK7qSiAnFxD7OzAYzo1QuAsZLSjujoLy0tISEhhD1RCooei4qKhLi4h5jY2eTkxJKSBi53uEAAa+t/qf2rqMDDh/jzz2e3bm0MCZn955+nExMz2WyWlJSlqmpFQ8PLysqTCQmRubkGlZX6L1+Cx4OGBhjt7Jjw8iXOnLl665bH6dN3s7OlmcxNQ4ce9vJ6nSxKp4PBwNChsLLq+MtvJ+rq6t7e3hMmTKirq0tMTIyJidm3b19GRoatrS3ZiVRTU/PGjRunT592dnYeN24cFRikEC137vjdvl1QW7vSxUVv2DDhaLaKCnsu90RCwqvKSgD9dXRm2NggIwPm5sKZWUrxcShBSPEGZWX07WtcUGAsLf3nixc/Dxr0S0TEAF3d5NLSnwcPtjEzoy1Zgt69/3m3VUpK6nFERFpWVi8lJWUpqZjCQkVJSfeRI7vsRVBQCJmGBsTG5lVWZlRWDjMyAsDh8a5mZEy1soKGBiUIKSg6hZ4eq7HRick8k5T0ICdHW1zcobkZNjZ4v2kqn4+kJFy71njjxp+3bq0IDV0dHh5TWMhtbnbQ0vIdMuT42LELHByWOToqSkrGFhWllpWdiI8PT09XLSszy8lBc3NbZSEZGPzrr2+Dg3+4dau2qclFT+/GjBleo0fTPDwgLQ1pafTujdGju2Vakrq6+vjx4ydOnFhbW5uYmBgfH3/w4MGMjAxra2sbG5t58+YFBgZSgUEKkcPjITx8VVhYI5+/zd1dxt29s01lSC5fZvL54mJi1zMyAIwyMfEwMSHbCMPMTAjrU3wcqssoRSuYTAgErx+Kia13dd18/74xObJTXLyN7/Zp8+dfvXs3MClpy7BhB2NizgYGbt2xg/aRiCIFxX8dJSXQaA5aWuvu3GE3NLCkpA7Hxo4yMYG4OIyMuts5CopPHBoNY8YMqqw8WFk576+/ll27Zqqs7FpXBzk5qKvDwQHq6igvR3w84uJScnJOJSYeio1lNzQAUJCUnGJpuczR0UZbGwIBefGSl5BYPWjQ0n799j99uj0qKio31ys3d0Bk5Jr4+DFRUejXDwMH/lM90suXCA29Fhu7KDS0oKZGisn0cXVdOXQofcQI2NuDRoOJSZedm3/A0tLy5MmTa9as2bx58/nz50+dOnXu3Dlzc/Pi4uLS0lIJCYn169evWrWK0d64KAVFG6moKKmrq2psZElJqcrICGe2O58PDgcEMdPW9sebN5liYsZkaRJBID9fCOtT/CPUhwXF32lsbHk4xMDgSFzc6284nDYuMG78eBlJyajcXF0FBX1FxZySkujo6AEDBgjdUwqKroBGw9ChsuHhuz08vr95U0AQ1urq8+3tISXVldliFBSfLQwGpkyZW1MTX1y8+/HjiUFBj+XleykpIS8PcXFQVKwtLAxMTj4UGxtbWEge4aCltcjBYYaNjbSeHhwcYGuLjAw8fAg2GzIysLeX09VdHRW1zNHxaFzcr5GRD/PyvAIDnSMj1yYleT55QnN0hIsLpKTA56OoCHw+1NTAYCAsrCoqanVY2KHYWAAuenrHx4416dcPXl5QUOjWc/RhLCwszp49u3nz5m3bth09ejQxMRGAlZXVyZMn+/Tp093eUXzW5OS8HQtB1ut2HjExANzm5qkXLnCbm01VVL7u3//1r6imMqKHEoQUf6e5GcB0Kyt5CQkA//vii5SSkpaftwUZGZkxw4efCw0NSk6ebGn5W1RU4LFjlCCk+IRxdERNTR/guJ4e+HwwmZCRwaxZVItRCgrhICuLadN21Na+YrOvpqd7BQZGL1ggLyERm5d3KDj4bFJS3Zuh8JPJkKCREezs4ODwtreZufm7+dve3rKDB397//58e/ujcXF+kZHReXlegYG2Gho/Dxo06ckTmo4O8vNf56by+aDTr6WmfjQw+B/GyMjI39//yy+/3Lhxo7a2Njl1sLudovh8EQgQEoKkpLdjIZqa0NAAKanOrpyZ2cTne1+4cOPlS1UZmcCJE+kt3ZssLTvtN8W/QCMIort9oPgv8euvaGryPHs2cOJEOQmJvOrqtbdvn54wAbKyaPOU+ZC//ho7bpythsbxsWPt/f1VFRQKy8up3BWKTxs2Gy9foqkJamowNv6P3yNSUHx6/PZbDZs94OjRlNJSbTk5ZWnpxJISADRgsIHBIgeHCRYWkiYmcHCAmVk7tmOKi3HvHicx8Uhc3PaoqMLaWgA26urrBg+eZGFBljNUNTa2DgweGzvW9D8cGKSg6E6uXkVCAni8VWFhv0VFbRk27KfBg6GpiQULOnVZzMzknT7tHRj414sXqtLSt2fPtib7EYqJgcXCV19RO7CihrpHp/g7kpJoavrAz9uz9zPSw0NZXj6huFhcTOyrvn0H6+sTu3ZhzJhuKcGnoBAOLBb69etuJygoPlMIAvX18hISwVOn2hw4UFBbW1BbS4YEv3Z0tO7VC7a2fwsJth0NDUyZIuPm9m1U1Ff9+gXEx2+8dy+xpGTyhQvW6upfOzrKMZkrw8PfBgaHDKEPGYIBA6hNHwqKd6mvR3w8+HwASSUlIFNGCQLl5cjOhqFhB5fNzGw+c2bmhQt/vXjBkpK6PmOGtYYGJCTA48HUFF5elBrsAihBSPF3lJRQUwPgqytXGHR6PY8nQUb22jMvWFxcfN3s2TLZ2fISEsOMjAiCqCsrY128iFGjYGcnIscpKCgoKD5VaDQwGODzjZWUjnp5/REdPbxXr/WurhIMBlgsfP31B/qOtgs1NYwfLzFw4P/Zu/O4mPM/DuDvubrvSzlC6JBcuWVZYllnSOvIsUu5+bmK7BY5yrrWWuS2ratk3WdW7pAr0kGIStF9XzOf3x9fwp5opqm+r+fj93j8xtR8Pu/psTPzfc3ncrt82bVFiy23bq24cuV+aqr70aPcz7+oX3/7wIGNGjSgMWPks0MGQM2TnMy9TonoUkICEQVHRfVu3FiTiKKjPzMQPn8u3bt3VFDQ/gcP9NTUzri62vfsST17UmEh6euTqqpcnwD8IwRC+JCFBb14QUSb+vUrnzJKEsmnbahYWjrTzCxXS2vA3r1T27UTi0QD9+079M03BidPko0NXt4AAPBnVlYUE0NS6XA7u+F2dkREjJFEQu3bVzQNljM2JicndSur6aqq7vb2m27dmnfmjIwx9zZt1vXpIxQIyNISaRDgHwkE9HahWVMTk5tJSfujos4/ezanU6fJJSWa2dnUrRuZmX1Cg8+fSwMDR+/fv+/BA101tTOurm0cHWnwYBIKMWG7kiEQwocsLenSpT/fydin7bX97BkJBPujoobb2Q1p2pSIcouLf4uMnP7FFxQfT02byq9cAACoEb76ip48oeLi8tOPSCIhAwNq00bOHTVuTAKBqlg8o337SW3avM7Pr6OjQ0SkokLm5nLuC6AmqVOnfIvBGxMmHIqJ+Sk8POzZs3lnz664cmVKu3az7t/XadmSunX7qHPqX7yQBgaODQrac/8+lwbbOjrSkCFy+wIIPgUOpocPaWnRgwd1hEILAwOhQCARicx1devZ2lKHDp/QyPPn9Pjx8ehoGyOjJoaGRJRVVHQ3JcWxUSOqV4/q1FFU8QAAUE2pqlKzZpSaStnZJJGQQEB2duTsLJ8d7d8nElF+Pr16RTKZSCjkttQmgYC0tKhfP1yMAvwjbr5oSgoXC62NjMa2bOloYfE0M/Ph69cXnj3bevt2wcuXrZOSVF+9IiMj0tb+x6YSE2WBgeOCg3+LjNRRVT3j6tq+Z08aOhQvQGVBIIS/MDVtkJgoZIyIJCJRPSMjcnH5yFPp3ygqoqiol1lZTzIzO9WrR0TH4+JMtbRamZtTy5aftBwRAAD4Qk2NWrSgTp2oRQtydCRra0VtJtGoEb16RdnZb+a/qaiQtjaNGUMaGgrpDqDGaNCAiovp5UuSSEgsJqHQ3MJibPPmjubmTzIzo8tjYUpK6+Tkf4yFiYksMHDSwYM77tzRVFE5PnJk5x49yNkZm8coEY6dgL9z9y4dP05iMUmlNGjQJ0/ylMlo9erSnJwhQUGd69UTCYXnnz4NcXFR486uwPkTAACgdC9f0uPHVFpKZmZkZYWhCYCPlZ9PCQkklVLduqSvTyUldPMmXb4c+vDhwj/+uJ6YSERGGhpT2rWb1bGjjp0ddetGEgndukWvXpFEwp48mfz775siIjQkkuMjR3ZzdKRvvkEaVC4EQvgHBQX06hWZmtLnHXGbkEB79siKiyNTU2WMtTA1FamokIsLNWok70IBAAAAQKn+IRbO6dRpWvv2GtzcbJmMMTb1xIkNN29qSCTHRoz4kkuDGCpQNgRCUJhXr+jsWXr+nIiobl3q2ZNMTZVdEwAAAAAoRlERhYfT9evvx0JjTc3ZHTtOa99eXSyedvLkLzduqEskx0aM6N6zJ8YGqwgEQgAAAAAAkJO3o4Un7t9fFBZ2IymJiGppaqpJJAlZWapi8UEXl6+trcnTE2ODVQQCIQAAAAAAyBUXC8+dC42P9zp3jouFQoHgyPDhfZs0IaGQFi7E2t0qArkcAAAAAADkSkWFOnemqChHxhwtLPwuXdoXFeVmb9/X0pKISCgkgUDZJcIbGCEEAAAAAAAFuH6dzp2jkpIP4p9QSJaW5OKivLLgAxioBQAAAAAABWjThvT1SSJ5d49AQBIJ9e6tvJrgzzBCCAAAAAAAilFcTCdP0oMHJBSSTEZ169LAgaSvr+yy4B0EQgAAAAAAUCSplHJySEODuDMJoSpBIAQAAAAAAOAprCEEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAAAAAAAJ5CIAQAAAAAAOApBEIAAAAAAACeQiAEAAAAAADgKQRCAAAAAAAAnkIgBAAAAAAA4CkEQgAA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tXPnznXv3t3X13fGjBl3fni2bNm++uq/tWpp2za99poWLVKdOlq9Wl27asoUpxd7dzJw0HNml5Jyq4fQKYFw796LERHPfP99QkpKzxo10tOg1aps2fTii2rWTPXrq2ZNVaqksmVVrJgCApQzp7y90//Jliqljh1VuLBstvpFi3atVi05La3jzz9PqF3bP0eOBQsW/PDDD04oUpo0adLZs2crlylT2sNj9v79HjbbG7Vrq379+//OqVFD/fopNVUdO95a4copIleu1G+/KX9+vfaaM9tFlpU7d8ciRSZKluvX19ntsVevfpuUFF68+OySJVdFRo68cmWa1ZqtRImFfi5Jgw6NG6thQ3l6ymb7uGlTTze3abt27ThyRGFhGXXGPXuOnzr1yebNFmls8+ZWm00eHgoIUIamUGQafn5yDCiLjtaTT6pnT+3a5bTGTdRDmJz8u3Hdbm7OGnHt3AmEN/Xt29disUyYMKFTp05ff/31wYMHzbud2ANntVodE3A++OCDyMhI5zZuGEaPHj3S0tL69OlT9g7W+TMpNze9+KJy55aHh9zc0v+sWzdD9vuVChQoICkyMtJms/3888+OfSnuSp48WrpUefNq8WJ99JEWLlS2bJo6VXcwySyDZfDG95nYiBHFcuaUdLx3b+P06fttLTIy5b336hctKqnWI48kvfOO8d//GiNGGN98Y1y7dtetnT59ffDg4rlySRrZqNGkDh0k5cmT58KFC/dZZmJiomNJgPmdO7d77DFJXatVMyZMMOz2+2z5RvtGuXKGZLz9tlPaS1ezZs1agYHHJ050ZqPI+qKjF9vticePt7l8+Zvo6AWJicfj43ft3On922/ZY2PXu7o6wzAMw243oqKM8eP7Pf64pPpFixoffGDExzv/RElJxujRoaVKSepUqZIxapSxYYNx8qTzT4SsoG9fQzLq13dag3369JE0evRop7WYmT3xhHH9umEYRlSU0aCBs1p96qmnJH3//ffOavCmPyxBlD179tq1aw8cOHDBggWXL192+unwB88++6ykV1991bnNTp06VVKBAgViYmKc2/JDyG43IiKMrVuNPXvSv3kzjK+vr6QrV67YbDaLxZKcnHwPjWzdavj4GJLx4YfGwoVGz57G1q3Gb78ZhmGkpBi//OLkmu+EWQPhli3GsGF5s2WTdGHAAGPz5vtqLT7e+Oyz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rFukyGP581vd3FS0qIoVU2Li7z6SktIfpKRIupaUFJ2YGJOYOP/w4WFr1lit1sM9ehTLlUvlyql164wtW4qNjZ05c6afn1/ZsmX9/f0doyYcY0GBO3UjDapqVc2bl/regIPtlyunb6lSqz09S/7pEWfODLhwYbTF4lmkyPzcuZs+4Hr/waxZo6dPH7B8edm8efd07epms8lmU61a+v3u0n/OMLRwofbtk90edf16qS+/vBwfP+e551p36KDmzTO+dGRJ69crNlY1aih3bkVG6ptvNGeOgoPTPx55RHv2KCxMYWE6f/6pX39devuxfn5+VapUKVKkSL9+/R577DFXvYVMJDlZFy4oMFAHD+rRR2UYKlBAXbqoc2dt3KhPP9XmzZJeevTR62XK9OnTp1atWn/azMWLFwcPfnv16v7h4aUDAzVqlNq2/bsbvPPmqV07JSbq2Wc1a9Z9bWuFjPPxxx+//vrruXLlKlasWExMzO13wxMSEhITE28+tdvtMTEx/99C48aNHQsoIHM6depUkSJFChUqtGzZsvLly5cpU+bgwYP33Npvv6laNVks2rlTN4YOuMbDGQhTU1M//u9/h773XlJKSsHs2SeEhvp7eb00f/6xq1fdbbZ+PXsOHzXKw8Pjzw82DJ04oR070g4eXHn06PTdu38+dCghJUXSUyVLXktKyuXt/fO//z1r797ktLQXK1fWCy+oePEMf0v792vevMWHDoXOmuXt5jamefNKBQrEJCZGJybGJCVFOx7c9tTxOCoxMToh4Q//gysHBOzs0kWScudWjx4ZXjlwnyIi1KCBIiJUq5Zmz9Zzz2nz5rSn66f+8JWn59996509O+i33+b06JEyduz45pkqLO3bl/zDDxXGjTt65cr40NDXgoMlyc1NtWvr9j3KrFZ5ev7x2C1bdOCAUlMldV+8eNz27Q2LFVvVqZNef103lrYH/l/DhipWTFOmaPFiHTyoGjXSE2BYmI4e1c0LgTp1Xty2bdajjz5au3btqlWrVq1atWzZstzCu+WHHzRjhipV0pYtGjVK33yjGjX0xBOaOlXjx8uxI1nevOrSJa1bN1tAwD+2t3OnevbUpk2SVK2axoxR9ep/8mWff65+/WS3q2dPffaZ+B+SOZ0/f75MmTIxMTFLlix58skn7/bwqKiouLi4/Pnzu9+YwYRMKCkpydvb283N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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mols_to_show = 16\n",
    "match_atom_list = [x.GetSubstructMatch(Chem.MolFromSmiles(y)) for x,y in bad_ring_df[[\"mol\",\"min_ring\"]].head(mols_to_show).values]\n",
    "MolsToGridImage(bad_ring_df.mol.values[:16],molsPerRow=4,useSVG=False,highlightAtomLists=match_atom_list,subImgSize=(300,300))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5ae17802-2f51-4535-900f-c20372d106a5",
   "metadata": {
    "id": "5ae17802-2f51-4535-900f-c20372d106a5"
   },
   "source": [
    "After examining the image above, we can be confident that we are indeed removing questionable ring systems.  Let's remove these molecules from **df_unique_ok**.  We'll add \"or min_freq\" < 0\" to retain the acyclic molecules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "16798746-9271-4ae0-9c58-aaf195fdf4ba",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 19,
     "status": "ok",
     "timestamp": 1757340801540,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "16798746-9271-4ae0-9c58-aaf195fdf4ba",
    "outputId": "e1eaff30-e238-4be5-d608-b0275bd983b5"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6922"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unique_ok_ring = df_unique_ok.query(\"min_freq > 100 or min_freq < 0\").copy()\n",
    "len(df_unique_ok_ring)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7365323f-966e-44d6-a379-d7cc8bd6723a",
   "metadata": {
    "id": "7365323f-966e-44d6-a379-d7cc8bd6723a"
   },
   "source": [
    "At this point we've removed the molecules with questionable ring systems, but we still have some molecules with potentially reactive functionality.  We can remove these using the REOS (Rapid Elimination of Swill) filters available in the useful_rdkit_utils package.  For more information on functional group filters, see this [blog post](https://practicalcheminformatics.blogspot.com/2018/08/filtering-chemical-libraries.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "9f7869ca-017a-4d42-8fb5-c23af576a419",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "5fee5dd3db8840e1a43df1bcf26bc9fa",
      "35ae9a6662094302a01bbe1dc0ee0903",
      "ccc21b1fb0b54169b33dfd6c47db8721",
      "507f5c30de4241c4a1f63e32b467a589",
      "5596e8c51475408eaa0b0d3b37fb0042",
      "8f1177a5ec8a42fcbf1951d3f4e8eb49",
      "d3e5f8052aac451ab1357db1fe51f64c",
      "a0e823c70a8c463db1c4913b2347307a",
      "ed2f8121221e4b1aa3f8c5e71a118f60",
      "a63c0aef650c403094051ebfc855c570",
      "e8d0ced6e59e4ae7a89ea646c561f92d",
      "927e4bd066d44de599af38bba13536d6",
      "485fea083f804a89a6d3bcbe902427bb",
      "c837c92f1ff74048991e77ed7fb8d578",
      "9c3c0339de034701b109cdbfd7642cb7",
      "ef1c3acc501047779954891f4f06b3ea",
      "6807f6a845d246a8a83e7b4af2bec892",
      "ba03361241f44c5baca8e895378d2069",
      "d97ebc2ca9fd4e2e8c2e68156718e6a8",
      "3dbbeb3f41c54e6d8810db8dd66bf1a9",
      "ba7135853a5043cfad319827892b53cf",
      "a52f663a18334317875e3ae766b0ed35"
     ]
    },
    "executionInfo": {
     "elapsed": 6225,
     "status": "ok",
     "timestamp": 1757340810067,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "9f7869ca-017a-4d42-8fb5-c23af576a419",
    "outputId": "428d7b3a-3084-4ddc-cd1c-8649e641066c"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "adf27bc65f594660a38949343324c3cd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/6922 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "reos = uru.REOS()\n",
    "df_unique_ok_ring[[\"rule_set\",\"rule\"]] = df_unique_ok_ring.mol.progress_apply(reos.process_mol).to_list()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8863dd56-f794-4d2c-a79d-a9d0bf0e4bc6",
   "metadata": {
    "id": "8863dd56-f794-4d2c-a79d-a9d0bf0e4bc6"
   },
   "source": [
    "We can use **value_counts** to see which rules eliminated the largest number of molecules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "a086cb42-1e54-4b94-9ef1-ede8e9eba7c9",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 649
    },
    "executionInfo": {
     "elapsed": 12,
     "status": "ok",
     "timestamp": 1757340811780,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "a086cb42-1e54-4b94-9ef1-ede8e9eba7c9",
    "outputId": "1ae433d5-2aae-4107-8537-94515a6b94a1"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "rule\n",
       "ok                                              6751\n",
       "I5 Thiols                                         60\n",
       "I1 Aliphatic methylene chains 7 or more long      33\n",
       "I16 Betalactams                                   22\n",
       "R18 Quaternary C, Cl, I, P or S                   12\n",
       "I6 Epoxides, Thioepoxides, Aziridines             10\n",
       "R2 Acid halides                                    7\n",
       "R17 acylhydrazide                                  6\n",
       "R1 Reactive alkyl halides                          6\n",
       "I12 Thioesters                                     4\n",
       "N2 Polyenes                                        3\n",
       "I13 Cyanamides                                     2\n",
       "R16 beta carbonyl quaternary Nitrogen              2\n",
       "R5 Sulphonates                                     1\n",
       "R24 Isonitrile                                     1\n",
       "R12 Triflates                                      1\n",
       "I14 Four membered lactones                         1\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_unique_ok_ring.rule.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "37fe9095-e185-4c71-98cd-43d8f0eb6106",
   "metadata": {
    "executionInfo": {
     "elapsed": 32,
     "status": "ok",
     "timestamp": 1757340813183,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "37fe9095-e185-4c71-98cd-43d8f0eb6106"
   },
   "outputs": [],
   "source": [
    "df_unique_ok_ring_reos = df_unique_ok_ring.query(\"rule == 'ok'\").copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bf5d74fc-143e-4c96-ab9d-c10bfbc7ff34",
   "metadata": {
    "id": "bf5d74fc-143e-4c96-ab9d-c10bfbc7ff34"
   },
   "source": [
    "Now let's see how similar the molecules we generated are to the molecules we started with.  We can do this by generating fingerprints for the generated molecules and calculating the Tanimoto similarity to the starting molecule."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "684ad2fd-3a3e-4401-abd9-a682afa69afe",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "9d398a5fec7b4fb79561d9c7c198631b",
      "b41aa9acaeda4172ab860bbd91f72a8b",
      "08f0832881db4e6bb618de3dd71c6862",
      "3857a1cae87f415f8a46198607f3d098",
      "49d0a9f081f140bfad336e88be82ed77",
      "e84f586e805e4267b3b709abd37d5c4d",
      "2f91ca2ad67b48e999abb8bd5f71076f",
      "25920ca6df374a26a90ea15639b7ceb0",
      "a32c4bae481e4b2cae40241e900ef05a",
      "1583f9c47e874c5fa52521d4384f0b70",
      "a0a257d68a5c44c48838e255d5ef3f80"
     ]
    },
    "executionInfo": {
     "elapsed": 483,
     "status": "ok",
     "timestamp": 1757340815586,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "684ad2fd-3a3e-4401-abd9-a682afa69afe",
    "outputId": "d42c5fbc-1e8f-475c-9d28-b6635a76c572"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "8e1ed8e1314048ffa744fa8d98b11768",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/6751 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fp_gen = rdFingerprintGenerator.GetMorganGenerator(radius=2,fpSize=4096,countSimulation=True)\n",
    "df_unique_ok_ring_reos['fp'] = df_unique_ok_ring_reos.mol.progress_apply(fp_gen.GetFingerprint)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c6468811-fb91-426d-b712-cafcd8fb94a5",
   "metadata": {
    "id": "c6468811-fb91-426d-b712-cafcd8fb94a5"
   },
   "source": [
    "Generate a fingerprint for the starting molecule"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "ef9ef7f1-91ed-4c93-9bd5-427c28010a53",
   "metadata": {
    "executionInfo": {
     "elapsed": 4,
     "status": "ok",
     "timestamp": 1757340817553,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "ef9ef7f1-91ed-4c93-9bd5-427c28010a53"
   },
   "outputs": [],
   "source": [
    "ref_fp = fp_gen.GetFingerprint(ref_mol)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0a7591ca-22a9-4af1-ad94-db593dbe7986",
   "metadata": {
    "id": "0a7591ca-22a9-4af1-ad94-db593dbe7986"
   },
   "source": [
    "Calculate the similarity of the generated molecules to the reference."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "5517c0f0-621e-4570-864c-9d3d81164a9d",
   "metadata": {
    "executionInfo": {
     "elapsed": 1,
     "status": "ok",
     "timestamp": 1757340819746,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "5517c0f0-621e-4570-864c-9d3d81164a9d"
   },
   "outputs": [],
   "source": [
    "df_unique_ok_ring_reos['fp_sim'] = BulkTanimotoSimilarity(ref_fp,df_unique_ok_ring_reos.fp.values)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "abf72989-7e95-4878-a17d-4b31b5e645de",
   "metadata": {
    "id": "abf72989-7e95-4878-a17d-4b31b5e645de"
   },
   "source": [
    "The molecule generation process proceeds over 250 steps with 128 molecules generated at each step.  Let's make a box plot of step vs similarity to the reference molecule. From the plot below, we can see a couple things.\n",
    "* The mean similarity at each step increases for the first ~80 steps, then levels off.\n",
    "* Steps 100-250 are sparse, this is due to the fact that we removed duplicate structures above.  After step 100, most of the generated structures are duplicates."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "b1d836ae-6e84-475b-8659-1daec715b9c2",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 449
    },
    "executionInfo": {
     "elapsed": 1990,
     "status": "ok",
     "timestamp": 1757340824022,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "b1d836ae-6e84-475b-8659-1daec715b9c2",
    "outputId": "e034ce18-4b41-4781-d98b-bacd3b460755"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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6sorr1Q//vGP1e23367+97//qT/+8Y+e3g+C5U6dOhXdWzh5aTuBYZL3zwf4GfMBP2M+4GfMBy1T+hnLeWxSY9wgtfuzzz5TY8eO1aJgpHQ/+OCDRdHw+++/rw0S4fvf/776y1/+oi644AJ13nnnqe7du6u//e1vatddd03wUxBCCCEkLSRu3ACEoJzCUHPnzm302DHHHKNvhBBCCCGpq1CcFMigQlVkM5MqT+T98wF+xnzAz5gP+BnzQfOcfMbEKxQTQgghhIRJ1XpuCCGEEJJPaNwQQgghJFfQuCGEEEJIrqBxQwghhJBcUZXGzeTJk9W2226rNtpoI9WnTx/1zDPPqKyC4oZ77bWX2myzzVTbtm11peeFCxeW7HPggQeqmpqaktuwYcNUVrjooosaHf+OO+5YfP6bb75Rp556qtpyyy3Vpptuqn7+8583atGRdnA9Wj8jbvhcWTyHjz32mDriiCN0JVEcK2pRmSCPAbWttt56a7Xxxhurfv36qTfffLNkny+++EIdd9xxupBYq1at1JAhQ9RXX32lsvAZ161bp0aNGqV22203tckmm+h9UJD0448/LnveL7vsMpWV83j88cc3Ov7DDjssN+cR2P0ucbviiisycR4neJgjvIyhqDmHwrktWrTQr3POOeeo9evXq7RSdcbNHXfcoasiI9XtueeeUz169FCHHnqoWrJkicoijz76qL4on3rqKd2GAoPqIYccoqs8mwwdOlQtXry4eJs4caLKErvsskvJ8T/++OPF58466yz1j3/8Q9155536+8AEcvTRR6ss8eyzz5Z8PpxLYNZzytI5xPWH3xYWEnbg2K+99lo1depU9fTTT2sDAL9DDLICJsRXXnlFfxf333+/noROOukklYXPuHr1aj2+jBkzRm/vuecePaH89Kc/bbTvuHHjSs7raaedprJyHgGMGfP4b7vttpLns3wegfnZcLv55pu18QIDIAvn8VEPc0S5MbS+vl4bNmvXrlXz5s1TM2fOVDNmzNALlNRSqDL23nvvwqmnnlq8X19fX+jQoUNhwoQJhTywZMkSpPYXHn300eJjBxxwQOGMM84oZJULL7yw0KNHD9vnli1bVmjatGnhzjvvLD722muv6e/gySefLGQVnK9u3boVGhoaMn8OcS7uvffe4n18pvbt2xeuuOKKkvPYvHnzwm233abvv/rq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AQMGqIkTJ6qf/exnauXKleq///2vGjhwoHr//ffVihUr1PTp0/W+MGTWrVunDj30UNW3b1+9X5MmTdQll1yiDjvsMLVgwQLVrFkzve+cOXPURhttpA0iGD6DBw/WhtOll16a8CcmhIQFjRtCSGqNm/Xr16ujjz5adenSRT8GLw6AJ2fNmjWqffv2xf1nzZqlGhoa1J/+9CftzQEwfuDFgSFzyCGH6Mdg5Nx8882qRYsWapdddlHjxo3T3qDx48er2lo6swnJA/wlE0JSSY8ePdTBBx+sDZpjjjlG3XjjjerLL7903P/FF19UixYtUptttpnadNNN9Q0enW+++Ua99dZbJa8Lw0aAp+err77SIS1CSD6g54YQkkrq6urUv//9bzVv3jz10EMPqeuuu06df/756umnn7bdHwZKr1691K233troOehrCCHVA40bQkhqQXhp33331bexY8fq8NS9996rQ0v19fUl+/bs2VPdcccdqm3btloo7Obh+frrr3VoCzz11FPay9O5c+fIPw8hJB4YliKEpBJ4aH7/+9+r//3vf1pAfM8996jPPvtM7bTTTmrbbbfVIuGFCxeqpUuXajHxcccdp9q0aaMzpCAofuedd7TW5vTTT1cffvhh8XWRGTVkyBD16quvqtmzZ6sLL7xQjRgxgnobQnIEPTeEkFQC78tjjz2mrr76ap0ZBa/NlVdeqfr376969+6tDRdsEY565JFH1IEHHqj3HzVqlBYhI7uqY8eOWrdjenJwv3v37mr//ffXomRkZF100UWJflZCSLjUFAqFQsivSQghqQR1bpYtW6b+9re/JX0ohJAIoR+WEEIIIbmCxg0hhBBCcgXDUoQQQgjJFfTcEEIIISRX0LghhBBCSK6gcUMIIYSQXEHjhhBCCCG5gsYNIYQQQnIFjRtCCCGE5AoaN4QQQgjJFTRuCCGEEKLyxP8D+cNKCxA73aYAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = sns.boxplot(x=\"step\",y=\"fp_sim\",data=df_unique_ok_ring_reos)\n",
    "ax.xaxis.set_major_locator(ticker.MultipleLocator(25))\n",
    "ax.xaxis.set_major_formatter(ticker.ScalarFormatter())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6a9cae1e-4d5e-4710-8e91-a92ded9ecc7e",
   "metadata": {
    "id": "6a9cae1e-4d5e-4710-8e91-a92ded9ecc7e"
   },
   "source": [
    "In many cases, we will want to perform some further analysis on the the generated analogs.  For instance, we could select a subset of the analogs and dock them into a protein crystal structure to identify analogs which could bind to a specific protein target.  Since methods like docking tend to be more computationally expensive, we may want to cluster the molecules to identify a representative subset.     \n",
    "We begin by using a molecular similarity cutoff to select analogs similar to the input molecule.  When using Morgan fingerprints as a measure of molecular similarity, 0.35 is a widely accepted cutoff for similar molecules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "6ec738ee-eb75-4abe-ae7d-f5bb5ef0e5e2",
   "metadata": {
    "executionInfo": {
     "elapsed": 1,
     "status": "ok",
     "timestamp": 1757340826393,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "6ec738ee-eb75-4abe-ae7d-f5bb5ef0e5e2"
   },
   "outputs": [],
   "source": [
    "similar_df = df_unique_ok_ring_reos.query(\"fp_sim >= 0.35\").copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6bdebd1-8ca0-4c92-b3cb-7d20b4227a5f",
   "metadata": {
    "id": "f6bdebd1-8ca0-4c92-b3cb-7d20b4227a5f"
   },
   "source": [
    "After selecting the similar molecules, we can custer using the same similarity cutoff."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "35b7e6bb-451b-4ff3-b17a-0d2b2d8b3c8d",
   "metadata": {
    "executionInfo": {
     "elapsed": 13,
     "status": "ok",
     "timestamp": 1757340828363,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "35b7e6bb-451b-4ff3-b17a-0d2b2d8b3c8d"
   },
   "outputs": [],
   "source": [
    "similar_df['cluster'] = uru.taylor_butina_clustering(similar_df.fp.values,cutoff=0.35)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "94f1fa7c-4a87-4ecb-97fc-80c36f5ec5cd",
   "metadata": {
    "id": "94f1fa7c-4a87-4ecb-97fc-80c36f5ec5cd"
   },
   "source": [
    "Finally, we can see how many molecules are in each cluster.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "daea6220-97a2-42f7-b9bd-423b90126818",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 490
    },
    "executionInfo": {
     "elapsed": 23,
     "status": "ok",
     "timestamp": 1757340830580,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "daea6220-97a2-42f7-b9bd-423b90126818",
    "outputId": "a84cb426-77cb-4b85-a109-7f6de94064b7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "cluster\n",
       "0     107\n",
       "1      29\n",
       "2      19\n",
       "11     11\n",
       "12     10\n",
       "     ... \n",
       "37      1\n",
       "68      1\n",
       "55      1\n",
       "30      1\n",
       "60      1\n",
       "Name: count, Length: 84, dtype: int64"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "similar_df.cluster.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a70240e6-8107-4ef6-bf3a-73e7fbfcb24c",
   "metadata": {
    "id": "a70240e6-8107-4ef6-bf3a-73e7fbfcb24c"
   },
   "source": [
    "The code below allows us to view a specific cluster."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "36e0ec90-9ef9-4b6f-8cdb-16b402e6e761",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 345,
     "referenced_widgets": [
      "658c549c638d445dbd5fa531d6f41e43",
      "fd1e0ab6f2a94647bbf29f3141ab9b71"
     ]
    },
    "executionInfo": {
     "elapsed": 84,
     "status": "ok",
     "timestamp": 1757340833002,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "36e0ec90-9ef9-4b6f-8cdb-16b402e6e761",
    "outputId": "39e38955-43f3-4a84-a9bd-74fcfc243489"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "9e4cf120b00d4cf6a195662c28add2cb",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "MolGridWidget()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style>\n",
       "    /* Some CSS to integrate with Jupyter more cleanly */\n",
       "    div.output_subarea {\n",
       "        /* Undo an unfortunate max-width parameter\n",
       "        that causes the output area to be too narrow\n",
       "        on smaller screens. */\n",
       "        max-width: none;\n",
       "\n",
       "        /* Align the table with the content */\n",
       "        padding: 0;\n",
       "\n",
       "        /* Let it breathe */\n",
       "        margin-top: 20px;\n",
       "    }\n",
       "</style>\n",
       "\n",
       "<iframe class=\"mols2grid-iframe\" frameborder=\"0\" width=\"100%\"\n",
       "    \n",
       "    \n",
       "    allow=\"clipboard-write\"\n",
       "    \n",
       "    \n",
       "    sandbox=\"allow-scripts allow-same-origin allow-downloads allow-popups allow-modals\"\n",
       "    \n",
       "    srcdoc=\"\n",
       "\n",
       "\n",
       "\n",
       "&lt;html lang=&quot;en&quot;&gt;\n",
       "    &lt;head&gt;\n",
       "        &lt;meta charset=&quot;UTF-8&quot; /&gt;\n",
       "        &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot; /&gt;\n",
       "        &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;\n",
       "        &lt;title&gt;Document!&lt;/title&gt;\n",
       "\n",
       "\n",
       "\n",
       "        &lt;style&gt;\n",
       "            /**\n",
       " * General styling\n",
       " */\n",
       "body {\n",
       "    font-family: &#x27;DejaVu&#x27;, sans-serif;\n",
       "}\n",
       "h1,h2,h3,h4 {\n",
       "    margin: 0 0 10px 0;\n",
       "}\n",
       "h1 {\n",
       "    font-size: 26px;\n",
       "}\n",
       "h2 {\n",
       "    font-size: 20px;\n",
       "    font-weight: 400;\n",
       "}\n",
       "h3 {\n",
       "\tfont-size: 16px;\n",
       "}\n",
       "p {\n",
       "    margin: 0 0 10px 0;\n",
       "}\n",
       "\n",
       "\n",
       "/* Remove body margin inside iframe */\n",
       "body.m2g-inside-iframe {\n",
       "    margin: 0;\n",
       "}\n",
       "\n",
       "/* In-cell text */\n",
       "#mols2grid .data:not(.data-img) {\n",
       "    height: 16px;\n",
       "    line-height: 16px;\n",
       "}\n",
       "/* Text truncation */\n",
       "#mols2grid .data {\n",
       "    /* Break text into multiple lines (default for static)... */\n",
       "    word-wrap: normal;\n",
       "\n",
       "    /* ...or truncate it (default for interactive). */\n",
       "    overflow: hidden;\n",
       "    white-space: nowrap;\n",
       "    text-overflow: ellipsis;\n",
       "}\n",
       "\n",
       "\n",
       "/**\n",
       " * Popover\n",
       " * - - -\n",
       " * Note: this is a bootstrap variable which is not namespaced.\n",
       " * To avoid any contamination, we only style it when the\n",
       " * x-placement parameter is set.\n",
       " */\n",
       ".popover[x-placement] {\n",
       "    font-family: &#x27;DejaVu&#x27;, sans-serif;\n",
       "    background: white;\n",
       "    border: solid 1px rgba(0,0,0,.2);\n",
       "    font-size: 12px;\n",
       "    padding: 10px;\n",
       "    border-radius: 5px;\n",
       "    box-shadow: 0 0 20px rgba(0,0,0,.15);\n",
       "    user-select: none;\n",
       "}\n",
       ".popover[x-placement] h3 {\n",
       "    margin: 0;\n",
       "}\n",
       ".popover[x-placement] .arrow {\n",
       "    width: 10px;\n",
       "    height: 10px;\n",
       "    background: #fff;\n",
       "    border: solid 1px rgba(0,0,0,.2);\n",
       "    box-sizing: border-box;\n",
       "    position: absolute;\n",
       "    transform-origin: 5px 5px;\n",
       "    clip-path: polygon(0 0, 100% 0, 100% 100%);\n",
       "}\n",
       ".popover[x-placement=&#x27;left&#x27;] .arrow {\n",
       "    transform: rotate(45deg);\n",
       "    top: 50%;\n",
       "    right: -5px;\n",
       "}\n",
       ".popover[x-placement=&#x27;right&#x27;] .arrow {\n",
       "    transform: rotate(-135deg);\n",
       "    top: 50%;\n",
       "    left: -5px;\n",
       "}\n",
       ".popover[x-placement=&#x27;top&#x27;] .arrow {\n",
       "    transform: rotate(135deg);\n",
       "    left: 50%;\n",
       "    bottom: -5px;\n",
       "}\n",
       ".popover[x-placement=&#x27;bottom&#x27;] .arrow {\n",
       "    transform: rotate(-45deg);\n",
       "    left: 50%;\n",
       "    top: -5px;\n",
       "}\n",
       "            body {\n",
       "    /* Colors */\n",
       "    --m2g-black: rgba(0,0,0,.75);\n",
       "    --m2g-black-soft: rgba(0,0,0,.35);\n",
       "    --m2g-black-10: rgba(0,0,0,.1);\n",
       "    --m2g-bg: #f6f6f6;\n",
       "    --m2g-border: solid 1px rgba(0,0,0,0.2);\n",
       "    --m2g-hl: #555; /* Highlight color */\n",
       "    --m2g-hl-shadow: inset 0 0 0 1px var(--m2g-hl); /* Inset 1px shadow to make border thicker */\n",
       "    --m2g-blue: #0f62fe;\n",
       "    --m2g-blue-soft: rgba(15,98,254,.2);\n",
       "\n",
       "    /* Icons */\n",
       "    --m2g-icn-triangle: url(&#x27;data:image/svg+xml;utf8,&lt;svg width=&quot;20&quot; fill=&quot;rgba(0,0,0,.75)&quot; height=&quot;20&quot; viewBox=&quot;0 0 20 20&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M9.5713 13.285L6.2543 7.757C6.0543 7.424 6.2953 7 6.6823 7L13.3173 7C13.7053 7 13.9463 7.424 13.7453 7.757L10.4283 13.285C10.2343 13.609 9.7653 13.609 9.5713 13.285Z&quot;/&gt;&lt;/svg&gt;&#x27;);\n",
       "    --m2g-icn-triangle-white: url(&#x27;data:image/svg+xml;utf8,&lt;svg width=&quot;20&quot; fill=&quot;white&quot; height=&quot;20&quot; viewBox=&quot;0 0 20 20&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M9.5713 13.285L6.2543 7.757C6.0543 7.424 6.2953 7 6.6823 7L13.3173 7C13.7053 7 13.9463 7.424 13.7453 7.757L10.4283 13.285C10.2343 13.609 9.7653 13.609 9.5713 13.285Z&quot;/&gt;&lt;/svg&gt;&#x27;);\n",
       "    --m2g-icn-cb-white: url(&#x27;data:image/svg+xml;utf8,&lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; fill=&quot;none&quot; stroke=&quot;white&quot; stroke-width=&quot;2.5&quot; stroke-linecap=&quot;round&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M4 7.65686L7 10.6569L12.6569 5.00001&quot;/&gt;&lt;/svg&gt;&#x27;);\n",
       "    \n",
       "    /* Border radius */\n",
       "    --m2g-br: 3px;\n",
       "    --m2g-br-l: var(--m2g-br) 0 0 var(--m2g-br); /* Left-only */\n",
       "    --m2g-br-r: 0 var(--m2g-br) var(--m2g-br) 0; /* Right-only */\n",
       "\n",
       "    /* Text */\n",
       "    --m2g-fs: 14px; /* UI font-size */\n",
       "    --m2g-fs-cell: 12px; /* Cell font-size */\n",
       "\n",
       "    /* Transition speeds */\n",
       "    --m2g-trans: 150ms;\n",
       "\n",
       "    /* Layout */\n",
       "    --m2g-h: 40px; /* Form element height */\n",
       "}\n",
       "\n",
       "/* Styling */\n",
       "#mols2grid {\n",
       "    font-family: &#x27;DejaVu&#x27;, sans-serif;\n",
       "    font-size: var(--m2g-fs);\n",
       "}\n",
       "\n",
       "/* Fixes */\n",
       "#mols2grid *,\n",
       "#mols2grid *::before,\n",
       "#mols2grid *::after {\n",
       "    box-sizing: border-box;\n",
       "    outline: none;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Functions section\n",
       " */\n",
       "\n",
       "#mols2grid .m2g-functions {\n",
       "    display: flex;\n",
       "}\n",
       "#mols2grid .m2g-functions .m2g-row {\n",
       "    flex: 0;\n",
       "    display: flex;\n",
       "}\n",
       "\n",
       "/* Individual elements don&#x27;t scale */\n",
       "#mols2grid .m2g-functions .m2g-row &gt; * {\n",
       "    flex: 0 0;\n",
       "    margin-right: 10px;\n",
       "}\n",
       "#mols2grid .m2g-functions .m2g-row:last-child &gt; *:last-child {\n",
       "    margin-right: 0;\n",
       "}\n",
       "\n",
       "/* Row 1: pagination + gap + sort */\n",
       "#mols2grid .m2g-functions .m2g-row:first-child {\n",
       "    flex: 1; /* Scale */\n",
       "}\n",
       "#mols2grid .m2g-functions .m2g-gap {\n",
       "    /* The gap in between will scale, so the pagination\n",
       "    stays on the left, while the rest moves to the right */\n",
       "    flex: 1;\n",
       "    margin-right: 0;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/*\n",
       " * Pagination\n",
       " */\n",
       "\n",
       "#mols2grid ul.m2g-pagination {\n",
       "    /* Unset defaults */\n",
       "    list-style-type: none;\n",
       "    margin-block-start: 0;\n",
       "    margin-block-end: 0;\n",
       "    margin-inline-start: 0;\n",
       "    margin-inline-end: 0;\n",
       "    padding-inline-start: 0;\n",
       "\n",
       "    /* Custom */\n",
       "    display: flex;\n",
       "}\n",
       "#mols2grid ul.m2g-pagination li {\n",
       "    background: var(--m2g-bg) ;\n",
       "    border: var(--m2g-border);\n",
       "    height: var(--m2g-h);\n",
       "    min-width: calc(var(--m2g-h) + 1px);\n",
       "    position: relative;\n",
       "    user-select: none;\n",
       "    \n",
       "    /* Compensate for double border */\n",
       "    margin-right: -1px;\n",
       "    \n",
       "    /* Center text */\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    justify-content: center;\n",
       "}\n",
       "#mols2grid ul.m2g-pagination li:last-child {\n",
       "    min-width: var(--m2g-h);\n",
       "}\n",
       "#mols2grid ul.m2g-pagination li a {\n",
       "    text-decoration: none;\n",
       "    color: var(--m2g-black);\n",
       "    padding: 0 10px;\n",
       "    width: 100%;\n",
       "    height: var(--m2g-h);\n",
       "    line-height: var(--m2g-h);\n",
       "    text-align: center;\n",
       "    /* Compensate for border so there&#x27;s no gap between click areas  */\n",
       "    margin: 0 -1px;\n",
       "}\n",
       "\n",
       "/* Corner shape */\n",
       "#mols2grid ul.m2g-pagination li:first-child {\n",
       "    border-radius: var(--m2g-br-l);\n",
       "}\n",
       "#mols2grid ul.m2g-pagination li:last-child {\n",
       "    border-radius: var(--m2g-br-r);\n",
       "    margin-right: 0;\n",
       "}\n",
       "\n",
       "/* Focus state */\n",
       "#mols2grid ul.m2g-pagination li:focus-within {\n",
       "    border-color: var(--m2g-hl);\n",
       "    box-shadow: var(--m2g-hl-shadow);\n",
       "    z-index: 1;\n",
       "}\n",
       "\n",
       "/* Active state */\n",
       "#mols2grid ul.m2g-pagination li.active {\n",
       "    background: var(--m2g-hl);\n",
       "    z-index: 1;\n",
       "}\n",
       "#mols2grid ul.m2g-pagination li.active a {\n",
       "    cursor: default;\n",
       "    color: #fff;\n",
       "}\n",
       "\n",
       "/* Disabled sate */\n",
       "#mols2grid ul.m2g-pagination li.disabled a {\n",
       "    cursor: default;\n",
       "    color: rgba(0,0,0,.25);\n",
       "    pointer-events: none;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/*\n",
       " * Dropdowns\n",
       " */\n",
       "\n",
       "#mols2grid ::placeholder {\n",
       "    color: var(--m2g-black-soft);\n",
       "}\n",
       "#mols2grid .m2g-dropdown {\n",
       "    height: var(--m2g-h);\n",
       "    background: var(--m2g-bg);\n",
       "    border: var(--m2g-border);\n",
       "    border-radius: var(--m2g-br);\n",
       "    position: relative;\n",
       "}\n",
       "#mols2grid .m2g-dropdown select {\n",
       "    -webkit-appearance: none;\n",
       "    -moz-appearance: none;\n",
       "    -ms-appearance: none;\n",
       "    appearance: none;\n",
       "    background: transparent;\n",
       "    border: none;\n",
       "    height: 100%;\n",
       "    padding: 0 13px;\n",
       "    min-width: 0;\n",
       "    max-width: 250px;\n",
       "    color: var(--m2g-black);\n",
       "    cursor: pointer;\n",
       "}\n",
       "\n",
       "/* Icon */\n",
       "#mols2grid .m2g-dropdown .m2g-icon {\n",
       "    width: 30px;\n",
       "    height: var(--m2g-h);\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    justify-content: center;\n",
       "    position: absolute;\n",
       "    top: 0;\n",
       "    right: 0;\n",
       "    pointer-events: none;\n",
       "}\n",
       "#mols2grid .m2g-dropdown .m2g-icon svg:not(.m2g-stroke) {\n",
       "    fill: var(--m2g-black);\n",
       "}\n",
       "#mols2grid .m2g-dropdown .m2g-icon svg.m2g-stroke {\n",
       "    stroke: var(--m2g-black);\n",
       "}\n",
       "\n",
       "/* Display */\n",
       "/* We hide the native select element because\n",
       " * it is limited in styling. Instead, we display\n",
       " * the selected value in a div. */\n",
       "#mols2grid .m2g-dropdown .m2g-display {\n",
       "    position: absolute;\n",
       "    left: 0;\n",
       "    right: 0;\n",
       "    top: 0;\n",
       "    bottom: 0;\n",
       "    pointer-events: none;\n",
       "    color: var(--m2g-black);\n",
       "    line-height: var(--m2g-h);\n",
       "    padding: 0 25px 0 13px;\n",
       "\n",
       "    /* Truncate dropdown text */\n",
       "    white-space: nowrap;\n",
       "\ttext-overflow: ellipsis;\n",
       "\toverflow: hidden;\n",
       "}\n",
       "\n",
       "/* Focus state */\n",
       "#mols2grid .m2g-dropdown:focus-within {\n",
       "    border-color: var(--m2g-hl);\n",
       "    box-shadow: var(--m2g-hl-shadow);\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Action dropdown\n",
       " */\n",
       "\n",
       "#mols2grid .m2g-dropdown.m2g-actions {\n",
       "    width: var(--m2g-h);\n",
       "    padding: 0;\n",
       "}\n",
       "#mols2grid .m2g-dropdown.m2g-actions select {\n",
       "    opacity: 0;\n",
       "    width: var(--m2g-h);\n",
       "}\n",
       "#mols2grid .m2g-dropdown.m2g-actions .m2g-icon {\n",
       "    width: var(--m2g-h);\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/*\n",
       " * Sort dropdown\n",
       " */\n",
       "\n",
       "#mols2grid .m2g-dropdown.m2g-sort {\n",
       "    flex: 0 0 200px;\n",
       "    width: 200px; /* Needed in addition to flex-basis for small sizes! */\n",
       "    border-radius: var(--m2g-br);\n",
       "    background: var(--m2g-bg);\n",
       "    display: flex;\n",
       "}\n",
       "\n",
       "/* Dropdown */\n",
       "#mols2grid .m2g-dropdown.m2g-sort select {\n",
       "    flex: 1 1;\n",
       "    opacity: 0;\n",
       "    /* padding-right: 70px; Space for &quot;Sort:&quot; */\n",
       "    box-sizing: border-box;\n",
       "}\n",
       "\n",
       "/* Sort order */\n",
       "#mols2grid .m2g-dropdown.m2g-sort .m2g-order {\n",
       "    background: var(--m2g-bg) var(--m2g-icn-triangle) no-repeat center;\n",
       "    flex: 0 0 30px;\n",
       "    height: 100%;\n",
       "    border-left: var(--m2g-border);\n",
       "    cursor: pointer;\n",
       "}\n",
       "#mols2grid .m2g-dropdown.m2g-sort.m2d-arrow-desc .m2g-order {\n",
       "    transform: rotate(180deg);\n",
       "    border-left: none;\n",
       "    border-right: var(--m2g-border);\n",
       "}\n",
       "\n",
       "/* Display */\n",
       "#mols2grid .m2g-dropdown.m2g-sort .m2g-display {\n",
       "    right: 31px;\n",
       "    padding-right: 13px;\n",
       "}\n",
       "#mols2grid .m2g-dropdown.m2g-sort .m2g-display::before {\n",
       "    content: &#x27;Sort: &#x27;;\n",
       "}\n",
       "\n",
       "/* Focus state */\n",
       "#mols2grid .m2g-dropdown.m2g-sort:focus-within .m2g-display,\n",
       "#mols2grid .m2g-dropdown.m2g-sort:focus-within .m2g-order {\n",
       "    background-color: transparent;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/*\n",
       " * Search bar\n",
       " */\n",
       "\n",
       "#mols2grid .m2g-search-wrap {\n",
       "    height: var(--m2g-h);\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    justify-content: flex-end;\n",
       "    background: var(--m2g-bg);\n",
       "    border: var(--m2g-border);\n",
       "    border-radius: var(--m2g-br);\n",
       "}\n",
       "#mols2grid .m2g-searchbar {\n",
       "    width: 170px;\n",
       "    height: var(--m2g-h);\n",
       "    padding: 0 13px;\n",
       "    border: none;\n",
       "    color: var(--m2g-black);\n",
       "    cursor: text;\n",
       "    background: transparent;\n",
       "}\n",
       "\n",
       "/* Focus state */\n",
       "#mols2grid .m2g-search-wrap:focus-within {\n",
       "    border-color: var(--m2g-hl);\n",
       "    box-shadow: var(--m2g-hl-shadow);\n",
       "}\n",
       "\n",
       "/* Option buttons */\n",
       "#mols2grid .m2g-search-options {\n",
       "    font-size: 12px;\n",
       "    display: flex;\n",
       "    height: calc(1.5em + .75rem);\n",
       "    line-height: calc(1.5em + .75rem);\n",
       "    margin-right: 5px;\n",
       "    border-radius: var(--m2g-br);\n",
       "    color: var(--m2g-black);\n",
       "}\n",
       "#mols2grid .m2g-search-options .m2g-option {\n",
       "    background: var(--m2g-black-10);\n",
       "    padding: 0 13px;\n",
       "    cursor: default;\n",
       "    user-select: none;\n",
       "}\n",
       "#mols2grid .m2g-search-options .m2g-option:not(.sel) {\n",
       "    cursor: pointer;\n",
       "}\n",
       "#mols2grid .m2g-search-options .m2g-option:first-child {\n",
       "    border-radius: 2px 0 0 2px;\n",
       "}\n",
       "#mols2grid .m2g-search-options .m2g-option:last-child {\n",
       "    border-radius: 0 2px 2px 0;\n",
       "}\n",
       "#mols2grid .m2g-search-options .m2g-option.sel {\n",
       "    background: var(--m2g-hl);\n",
       "    color: #fff;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Grid\n",
       " */\n",
       "\n",
       "/* Container */\n",
       "#mols2grid .m2g-list {\n",
       "    display: flex;\n",
       "    flex-wrap: wrap;\n",
       "    align-items: flex-start;\n",
       "    justify-content: flex-start;\n",
       "    padding: 1px; /* Compensate for negative padding on cell */\n",
       "    user-select: none;\n",
       "    margin: 0px;\n",
       "    margin-top: 20px;\n",
       "    font-family: &#x27;DejaVu&#x27;, sans-serif;\n",
       "    \n",
       "}\n",
       "\n",
       "/* Cell */\n",
       "#mols2grid .m2g-cell {\n",
       "    border: 1px solid #cccccc;\n",
       "    text-align: center;\n",
       "    vertical-align: top;\n",
       "    font-family: var(--font-family);\n",
       "    padding: 10px;\n",
       "    padding-top: max(10px, 20px);\n",
       "    margin: -1px -1px 0 0;\n",
       "    flex: 1 0 130px;\n",
       "    position: relative;\n",
       "    font-size: var(--m2g-fs-cell);\n",
       "    cursor: pointer;\n",
       "    color: var(--m2g-black);\n",
       "    overflow: hidden;\n",
       "    box-sizing: border-box;\n",
       "    background-color: white;\n",
       "}\n",
       "#mols2grid .m2g-cell:focus {\n",
       "    z-index: 1;\n",
       "    border-color: var(--m2g-hl);\n",
       "    box-shadow: var(--m2g-hl-shadow);\n",
       "}\n",
       "\n",
       "/* Phantom cells to maintain grid structure with less results */\n",
       "#mols2grid .m2g-cell.m2g-phantom {\n",
       "    border: none;\n",
       "    pointer-events: none;\n",
       "    height: 0;\n",
       "    padding: 0;\n",
       "}\n",
       "\n",
       "/* Checkbox &amp; ID */\n",
       "#mols2grid .m2g-cb-wrap {\n",
       "    position: absolute;\n",
       "    top: 3px;\n",
       "    left: 3px;\n",
       "    display: flex;\n",
       "    border-radius: 2px;\n",
       "    font-size: 0;\n",
       "    line-height: 0;\n",
       "    padding: 3px;\n",
       "    padding-right: 0;\n",
       "}\n",
       "#mols2grid .m2g-cb-wrap input[type=checkbox] {\n",
       "    display: none;\n",
       "}\n",
       "#mols2grid .m2g-cb-wrap input[type=checkbox] + .m2g-cb {\n",
       "\twidth: 16px;\n",
       "\theight: 16px;\n",
       "\tbox-sizing: border-box;\n",
       "\tbackground: #fff;\n",
       "\tborder: var(--m2g-border);\n",
       "\tborder-radius: 2px;\n",
       "    margin-right: 5px;\n",
       "}\n",
       "#mols2grid .m2g-cb-wrap input[type=checkbox]:checked + .m2g-cb {\n",
       "    border: none;\n",
       "    background-color: var(--m2g-blue);\n",
       "    background-image: var(--m2g-icn-cb-white);\n",
       "}\n",
       "#mols2grid .m2g-tooltip {\n",
       "    /* This is a div spanning full cell size where the\n",
       "    tooltip is rendered around, because you can&#x27;t attach\n",
       "    it to the parent due to list.js limitation. */\n",
       "    width: 100%;\n",
       "    height: 100%;\n",
       "    position: absolute;\n",
       "    left: 0;\n",
       "    top: 0;\n",
       "    z-index: -1;\n",
       "    pointer-events: none;\n",
       "    opacity: 0;\n",
       "}\n",
       "#mols2grid .m2g-cell:has(:checked) {\n",
       "    background: #ffd !important; /* Overrides user-set background color */\n",
       "}\n",
       "#mols2grid .data-mols2grid-id-display {\n",
       "    font-size: var(--m2g-fs-cell);\n",
       "    line-height: 16px;\n",
       "}\n",
       "#mols2grid .m2g-cb-wrap input[type=checkbox] + .data-mols2grid-id-display {\n",
       "    padding: 0 5px 0 5px;\n",
       "}\n",
       "#mols2grid .m2g-cb-wrap .data-name-display {\n",
       "    font-size: var(--m2g-fs);\n",
       "    line-height: 16px;\n",
       "}\n",
       "\n",
       "/* Info + callback button wrap (28px high) */\n",
       "#mols2grid .m2g-cell-actions {\n",
       "    position: absolute;\n",
       "    top: 0;\n",
       "    right: 0;\n",
       "    display: flex;\n",
       "    flex-direction: row;\n",
       "    font-size: 0;\n",
       "    line-height: 0;\n",
       "    \n",
       "    /* background: yellow; */\n",
       "}\n",
       "\n",
       "/* Info button */\n",
       "#mols2grid .m2g-info {\n",
       "    width: 28px;\n",
       "    height: 28px;\n",
       "    border-radius: 2px;\n",
       "    line-height: 28px;\n",
       "    font-size: min(14px, 12px);\n",
       "    font-family: Georgia, serif;\n",
       "    font-style: italic;\n",
       "    padding: 0;\n",
       "    text-align: center;\n",
       "}\n",
       "#mols2grid .m2g-keep-tooltip .m2g-info {\n",
       "    color: #fff;\n",
       "}\n",
       "#mols2grid .m2g-keep-tooltip .m2g-info::before {\n",
       "    content: &#x27;i&#x27;;\n",
       "    width: 18px;\n",
       "    height: 18px;\n",
       "    line-height: 18px;\n",
       "    background: var(--m2g-hl);\n",
       "    position: absolute;\n",
       "    left: 5px;\n",
       "    top: 5px;\n",
       "    border-radius: 9px;\n",
       "}\n",
       "\n",
       "/* Callback button */\n",
       "#mols2grid .m2g-callback {\n",
       "    width: 28px;\n",
       "    height: 28px;\n",
       "    cursor: pointer;\n",
       "}\n",
       "#mols2grid .m2g-callback::after {\n",
       "    content: &#x27;&#x27;;\n",
       "    display: block;\n",
       "    width: 16px;\n",
       "    height: 16px;\n",
       "    margin: 6px;\n",
       "    border: var(--m2g-border);\n",
       "    border-radius: 2px;\n",
       "    background: var(--m2g-bg) var(--m2g-icn-triangle) no-repeat center;\n",
       "    transform: rotate(-90deg);\n",
       "}\n",
       "\n",
       "/* Image */\n",
       "#mols2grid .m2g-cell .data-img {\n",
       "    padding: 0;\n",
       "}\n",
       "#mols2grid .m2g-cell img,\n",
       "#mols2grid .m2g-cell svg {\n",
       "    max-width: 100%;\n",
       "    height: auto;\n",
       "    padding: 0;\n",
       "}\n",
       "#mols2grid .m2g-cell svg &gt; rect:first-child {\n",
       "    /* Remove the SVG background */\n",
       "    fill: transparent !important;\n",
       "}\n",
       "\n",
       "/* Text below image */\n",
       ".m2g-copy-blink {\n",
       "    animation: m2g-blink var(--m2g-trans) 3;\n",
       "}\n",
       "@keyframes m2g-blink {\n",
       "    0% {\n",
       "        opacity: 1;\n",
       "    }\n",
       "    49% {\n",
       "        opacity: 1;\n",
       "    }\n",
       "    50% {\n",
       "        opacity: 0;\n",
       "    }\n",
       "    100% {\n",
       "        opacity: 0;\n",
       "    }\n",
       "}\n",
       "\n",
       "/* Copyable text */\n",
       ".copy-me {\n",
       "    position: relative;\n",
       "    cursor: pointer;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Modal popup\n",
       " * - - -\n",
       " * Triggered by make_popup_callback()\n",
       " * See https://mols2grid.readthedocs.io/en/latest/notebooks/callbacks.html#Display-a-popup-containing-descriptors\n",
       " */\n",
       "\n",
       "/* Container */\n",
       "#m2g-modal-container {\n",
       "    display: flex;\n",
       "    align-items: center;\n",
       "    justify-content: center;\n",
       "    background: var(--m2g-black-10);\n",
       "    position: fixed;\n",
       "    top: 0;\n",
       "    left: 0;\n",
       "    z-index: 1;\n",
       "    width: 100%;\n",
       "    height: 100%;\n",
       "    \n",
       "    /* Transition */\n",
       "    opacity: 0;\n",
       "    transition: opacity var(--m2g-trans) linear;\n",
       "}\n",
       "\n",
       "/* Modal */\n",
       "#m2g-modal {\n",
       "    background: #fff;\n",
       "    border-radius: var(--m2g-br);\n",
       "    box-shadow: 0 0 30px var(--m2g-black-10);\n",
       "    padding: 20px;\n",
       "    position: relative;\n",
       "    max-width: calc(100% - 80px);\n",
       "    max-height: calc(100% - 80px);\n",
       "    display: flex;\n",
       "    flex-direction: column;\n",
       "    min-width: 26px;\n",
       "\n",
       "    /* Transition */\n",
       "    opacity: 0;\n",
       "    transform: translate(0, 5px);\n",
       "    transition: transform var(--m2g-trans) ease-in-out, opacity var(--m2g-trans) linear;\n",
       "}\n",
       "#m2g-modal .m2g-modal-header {\n",
       "    flex: 0 0 26px;\n",
       "    margin-bottom: 10px;\n",
       "}\n",
       "#m2g-modal .m2g-modal-header h2 {\n",
       "    margin-bottom: 0;\n",
       "}\n",
       "#m2g-modal .m2g-modal-header h2 + p {\n",
       "    font-size: 15px;\n",
       "}\n",
       "#m2g-modal .m2g-modal-body {\n",
       "    flex: 1;\n",
       "    position: relative;\n",
       "}\n",
       "\n",
       "/* Transition */\n",
       "#m2g-modal-container.show {\n",
       "    opacity: 1;\n",
       "}\n",
       "#m2g-modal-container.show #m2g-modal {\n",
       "    opacity: 1;\n",
       "    transform: translate(0, 0);\n",
       "}\n",
       "\n",
       "/* Header + close btn */\n",
       "#m2g-modal h2 {\n",
       "    line-height: 26px;\n",
       "    padding-right: 40px;\n",
       "    text-transform: capitalize;\n",
       "}\n",
       "#m2g-modal h3 {\n",
       "    \n",
       "}\n",
       "#m2g-modal button.close {\n",
       "    background: transparent;\n",
       "    padding: 0;\n",
       "    color: var(--m2g-black);\n",
       "    font-size: 1.5rem;\n",
       "    width: 40px;\n",
       "    height: 40px;\n",
       "    position: absolute;\n",
       "    top: 13px;\n",
       "    right: 13px;\n",
       "    border: none;\n",
       "}\n",
       "\n",
       "/* Image */\n",
       "#m2g-modal .svg-wrap svg {\n",
       "    max-width: 100%;\n",
       "    margin-bottom: 20px;\n",
       "}\n",
       "\n",
       "/* Separator */\n",
       "hr {\n",
       "    width: 100%;\n",
       "    height: 1px;\n",
       "    background: #ddd;\n",
       "    margin: 15px 0;\n",
       "    border: none;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Hover states\n",
       " */\n",
       "@media (hover:hover) {\n",
       "    /* Pagination */\n",
       "    #mols2grid ul.m2g-pagination li:not(.active):not(.disabled):hover {\n",
       "        background: #f0f0f0;\n",
       "        z-index: 1;\n",
       "    }\n",
       "    #mols2grid ul.m2g-pagination li.active + li:hover {\n",
       "        /* Keeping the hover border consiistent */\n",
       "        margin-left: 1px;\n",
       "        border-left: none;\n",
       "        min-width: 40px;\n",
       "    }\n",
       "\n",
       "    /* Dropdowns &amp; search */\n",
       "    #mols2grid .m2g-dropdown:not(:focus-within):hover,\n",
       "    #mols2grid .m2g-search-wrap:not(:focus-within):hover,\n",
       "    #mols2grid .m2g-sort:not(:focus-within) .m2g-order:hover {\n",
       "        background-color: #f0f0f0;\n",
       "    }\n",
       "    #mols2grid .m2g-search-wrap:not(:focus-within):hover {\n",
       "        background: #fff;\n",
       "        border-color: rgba(0,0,0,.3);\n",
       "    }\n",
       "    /* Hocus pocus to have separate hover states for dropdown and arrow */\n",
       "    #mols2grid .m2g-dropdown.m2g-sort:not(:focus-within):hover .m2g-order:not(:hover) + .m2g-display {\n",
       "        background-color: transparent;\n",
       "    }\n",
       "\n",
       "    /* Search options */\n",
       "    #mols2grid .m2g-search-options .m2g-option:not(.sel):hover {\n",
       "        background: rgba(0,0,0,.15);\n",
       "    }\n",
       "\n",
       "    /* Grid */\n",
       "    /* Note: this is in an ::after pseudo element, so the transparent\n",
       "    hover color plays nice with the cell background color. */\n",
       "    #mols2grid .m2g-cell:hover::after {\n",
       "        content: &#x27;&#x27;;\n",
       "        width: 100%;\n",
       "        height: 100%;\n",
       "        position: absolute;\n",
       "        top: 0;\n",
       "        left: 0;\n",
       "        background-color: rgba(0,0,0,0.05);\n",
       "        pointer-events: none;\n",
       "    }\n",
       "\n",
       "    /* info button */\n",
       "    #mols2grid .m2g-info:hover::before {\n",
       "        content: &#x27;i&#x27;;\n",
       "        color: #fff;\n",
       "        width: 18px;\n",
       "        height: 18px;\n",
       "        line-height: 18px;\n",
       "        background: var(--m2g-hl);\n",
       "        position: absolute;\n",
       "        left: 5px;\n",
       "        top: 5px;\n",
       "        border-radius: 9px;\n",
       "    }\n",
       "    \n",
       "    /* Callback button */\n",
       "    #mols2grid .m2g-callback:hover::after {\n",
       "        background-color: var(--m2g-black);\n",
       "        background-image: var(--m2g-icn-triangle-white);\n",
       "        border-color: transparent;\n",
       "    }\n",
       "\n",
       "    /* Copyable text */\n",
       "    .copy-me:hover {\n",
       "        text-decoration: underline;\n",
       "        text-decoration-color: var(--m2g-blue);\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Responsive behavior.\n",
       " * - - -\n",
       " * Note: container queries won&#x27;t work in older browsers,\n",
       " * but this is purely aesthetical behavior so that&#x27;s ok.\n",
       " * https://caniuse.com/css-container-queries\n",
       " */\n",
       "\n",
       "/* This sets the msg-list div as reference container */\n",
       "#mols2grid {\n",
       "    container-type: inline-size;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Functions section\n",
       " */\n",
       "\n",
       "/* When there&#x27;s not enough space to put everything in one row, we break it into two.\n",
       " * - - -\n",
       " * 870px = pagination 280 + sort 200 + search 300 + menu 40 + (3*10 gap) = 850 + 20 buffer.\n",
       " * Buffer required because the button width inside the search depends on the font.\n",
       " */\n",
       "@container (max-width: 870px) {\n",
       "    #mols2grid .m2g-functions {\n",
       "        flex-direction: column-reverse;\n",
       "        gap: 10px;\n",
       "    }\n",
       "    #mols2grid .m2g-functions .m2g-row:last-child {\n",
       "        justify-content: flex-end;\n",
       "    }\n",
       "    #mols2grid .m2g-functions .m2g-row:first-child *:last-child {\n",
       "        margin-right: 0;\n",
       "    }\n",
       "}\n",
       "\n",
       "/* When there&#x27;s not enough room for pagination + sort on one row,\n",
       " * we reduce the sort drodpwon width.\n",
       " */\n",
       "@container (max-width: 500px) {\n",
       "    #mols2grid .m2g-functions .m2g-sort {\n",
       "        width: 80px;\n",
       "        flex-basis: 80px;\n",
       "    }\n",
       "    #mols2grid .m2g-functions .m2g-sort .m2g-display {\n",
       "        font-size: 0;\n",
       "        line-height: 0;\n",
       "        padding-right: 0;\n",
       "    }\n",
       "    #mols2grid .m2g-functions .m2g-sort .m2g-display::before {\n",
       "        content: &#x27;Sort&#x27;;\n",
       "        font-size: var(--m2g-fs);\n",
       "        line-height: var(--m2g-h);\n",
       "    }\n",
       "}\n",
       "\n",
       "/* When there&#x27;s not enough room for pagination + reduced sort on one row,\n",
       " * we reduce the pagination width.\n",
       " */\n",
       "@container (max-width: 500px) {\n",
       "    /* We&#x27;re overriding min-width from different\n",
       "    locations, including responsive rules */\n",
       "    #mols2grid ul.m2g-pagination li,\n",
       "    #mols2grid ul.m2g-pagination li:last-child,\n",
       "    #mols2grid ul.m2g-pagination li.active + li:hover {\n",
       "        min-width: 0;\n",
       "    }\n",
       "}\n",
       "\n",
       "/* When there&#x27;s not enough room for searchbar + menu\n",
       " * we scale down the searchbar to fit the container.\n",
       " */\n",
       "@container (max-width: 370px) {\n",
       "    #mols2grid .m2g-functions .m2g-row .m2g-search-wrap {\n",
       "        flex: 1;\n",
       "    }\n",
       "    #mols2grid .m2g-searchbar {\n",
       "        width: calc(100% - 50px);\n",
       "    }\n",
       "    #mols2grid .m2g-search-options {\n",
       "        width: 50px;\n",
       "    }\n",
       "\n",
       "    /* Collapse options in T/M buttons */\n",
       "    #mols2grid .m2g-search-options .m2g-option {\n",
       "        width: 25px;\n",
       "        text-align: center;\n",
       "        padding: 0;\n",
       "        overflow: hidden;\n",
       "    }\n",
       "    #mols2grid .m2g-search-options .m2g-option:first-child::before {\n",
       "        content: &#x27;T\\A&#x27;\n",
       "    }\n",
       "    #mols2grid .m2g-search-options .m2g-option:last-child::before {\n",
       "        content: &#x27;S\\A&#x27;\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Grid\n",
       " */\n",
       "\n",
       "/* When there&#x27;s room for 5 columns, fall back to 4 */\n",
       "@container (min-width: 519px) and (max-width: 779px) {\n",
       "    #mols2grid .m2g-cell {\n",
       "        flex-basis: calc(100% / 4);\n",
       "    }\n",
       "}\n",
       "\n",
       "/* When there&#x27;s room for 7-11 columns, fall back to 6 */\n",
       "@container (min-width: 779px) and (max-width: 1559px) {\n",
       "    #mols2grid .m2g-cell {\n",
       "        flex-basis: calc(100% / 6);\n",
       "    }\n",
       "}\n",
       "\n",
       "/* When there&#x27;s room for 13+ columns, fall back to 12 */\n",
       "@container (min-width: 1559px) {\n",
       "    #mols2grid .m2g-cell {\n",
       "        flex-basis: calc(100% / 12);\n",
       "    }\n",
       "}\n",
       "\n",
       "            /* Custom CSS */\n",
       "            \n",
       "        &lt;/style&gt;\n",
       "        &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/list.js/2.3.1/list.min.js&quot;&gt;&lt;/script&gt;\n",
       "&lt;script src=&quot;https://code.jquery.com/jquery-3.6.0.min.js&quot; integrity=&quot;sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;\n",
       "&lt;script src=&quot;https://unpkg.com/@rdkit/rdkit@2022.3.1/Code/MinimalLib/dist/RDKit_minimal.js&quot;&gt;&lt;/script&gt;\n",
       "        &lt;script&gt;\n",
       "    // Set iframe height to fit content.\n",
       "    function fitIframe(iframe) {\n",
       "        // Ignore when there&#x27;s no iframe\n",
       "        if (!iframe) return\n",
       "\n",
       "        // Only fit height when no specific height was given.\n",
       "        if (iframe.getAttribute(&#x27;height&#x27;)) return;\n",
       "\n",
       "        // Initial fit + refit whenever the window width changes.\n",
       "        _fit()\n",
       "        $(window).on(&#x27;resize&#x27;, function() {\n",
       "            if (window.innerWidth != window.prevInnerWidth) {\n",
       "                window.prevInnerWidth = window.innerWidth\n",
       "                _fit();\n",
       "            }\n",
       "        })\n",
       "\n",
       "        // Fit iframe height to content height.\n",
       "        function _fit() {\n",
       "            var height = iframe.contentDocument.body.scrollHeight + 18 + &#x27;px&#x27;;\n",
       "            iframe.style.height = height;\n",
       "        }\n",
       "    }\n",
       "&lt;/script&gt;\n",
       "\n",
       "&lt;!-- prettier-ignore --&gt;\n",
       "&lt;script src=&quot;https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js&quot; integrity=&quot;sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns&quot; crossorigin=&quot;anonymous&quot;&gt;&lt;/script&gt;\n",
       "        \n",
       "        &lt;!-- Custom header --&gt;\n",
       "        \n",
       "\n",
       "\n",
       "\n",
       "\n",
       "    &lt;/head&gt;\n",
       "    &lt;body class=&quot;m2g-inside-iframe&quot;&gt;\n",
       "\n",
       "\n",
       "\n",
       "        &lt;div id=&quot;mols2grid&quot; class=&quot;grid-default&quot;&gt;\n",
       "            &lt;!-- Pagination &amp; search --&gt;\n",
       "            &lt;div class=&quot;m2g-functions&quot;&gt;\n",
       "                \n",
       "                &lt;div class=&quot;m2g-row&quot;&gt;\n",
       "                    &lt;!-- Pagination --&gt;\n",
       "                    &lt;ul class=&quot;m2g-pagination&quot; class=&quot;d-flex&quot;&gt;&lt;/ul&gt;\n",
       "                    &lt;div class=&quot;m2g-gap&quot;&gt;&lt;/div&gt;\n",
       "\n",
       "                    &lt;!-- Sort dropdown --&gt;\n",
       "                    &lt;div class=&quot;m2g-dropdown m2g-sort&quot;&gt;\n",
       "                        &lt;select&gt;\n",
       "                            \n",
       "                            \n",
       "                                \n",
       "                                \n",
       "                                \n",
       "                            &lt;option value=&quot;mols2grid-id&quot; selected&gt;Index&lt;/option&gt;\n",
       "                                \n",
       "                            \n",
       "                            \n",
       "                            &lt;option value=&quot;checkbox&quot;&gt;Selected&lt;/option&gt;\n",
       "                            \n",
       "                        &lt;/select&gt;\n",
       "                        &lt;div class=&quot;m2g-order&quot;&gt;&lt;/div&gt;\n",
       "                        &lt;div class=&quot;m2g-display&quot;&gt;\n",
       "                            Index\n",
       "                        &lt;/div&gt;\n",
       "                    &lt;/div&gt;\n",
       "                &lt;/div&gt;\n",
       "                &lt;div class=&quot;m2g-row&quot;&gt;\n",
       "                    &lt;!-- Search bar --&gt;\n",
       "                    &lt;div class=&quot;m2g-search-wrap&quot;&gt;\n",
       "                        &lt;input\n",
       "                            type=&quot;text&quot;\n",
       "                            class=&quot;m2g-searchbar form-control&quot;\n",
       "                            placeholder=&quot;Search&quot;\n",
       "                            aria-label=&quot;Search&quot;\n",
       "                            aria-describedby=&quot;basic-addon1&quot;\n",
       "                        /&gt;\n",
       "                        &lt;div class=&quot;m2g-search-options&quot;&gt;\n",
       "                            &lt;div class=&quot;m2g-option m2g-search-text sel&quot;&gt;Text&lt;/div&gt;\n",
       "                            &lt;div class=&quot;m2g-option m2g-search-smarts&quot;&gt;SMARTS&lt;/div&gt;\n",
       "                        &lt;/div&gt;\n",
       "                    &lt;/div&gt;\n",
       "\n",
       "                    &lt;!-- Action dropdown --&gt;\n",
       "                    &lt;div class=&quot;m2g-dropdown m2g-actions&quot;&gt;\n",
       "                        &lt;select&gt;\n",
       "                            &lt;option hidden&gt;-&lt;/option&gt;\n",
       "                            &lt;option value=&quot;select-all&quot;&gt;Select all&lt;/option&gt;\n",
       "                            &lt;option value=&quot;select-matching&quot;&gt;Select matching&lt;/option&gt;\n",
       "                            &lt;option value=&quot;unselect-all&quot;&gt;Unselect all&lt;/option&gt;\n",
       "                            &lt;option value=&quot;invert&quot;&gt;Invert&lt;/option&gt;\n",
       "                            &lt;option value=&quot;copy&quot;&gt;Copy to clipboard&lt;/option&gt;\n",
       "                            &lt;option value=&quot;save-smiles&quot;&gt;Save SMILES&lt;/option&gt;\n",
       "                            &lt;option value=&quot;save-csv&quot;&gt;Save CSV&lt;/option&gt;\n",
       "                        &lt;/select&gt;\n",
       "                        &lt;div class=&quot;m2g-icon&quot;&gt;\n",
       "                            &lt;svg width=&quot;20&quot; height=&quot;20&quot; viewBox=&quot;0 0 20 20&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;\n",
       "                                &lt;path d=&quot;M11.5 4C11.5 4.82843 10.8284 5.5 10 5.5C9.17157 5.5 8.5 4.82843 8.5 4C8.5 3.17157 9.17157 2.5 10 2.5C10.8284 2.5 11.5 3.17157 11.5 4ZM11.5 10C11.5 10.8284 10.8284 11.5 10 11.5C9.17157 11.5 8.5 10.8284 8.5 10C8.5 9.17157 9.17157 8.5 10 8.5C10.8284 8.5 11.5 9.17157 11.5 10ZM10 17.5C10.8284 17.5 11.5 16.8284 11.5 16C11.5 15.1716 10.8284 14.5 10 14.5C9.17157 14.5 8.5 15.1716 8.5 16C8.5 16.8284 9.17157 17.5 10 17.5Z&quot;/&gt;\n",
       "                            &lt;/svg&gt;\n",
       "                        &lt;/div&gt;\n",
       "                    &lt;/div&gt;\n",
       "                &lt;/div&gt;\n",
       "            &lt;/div&gt;\n",
       "\n",
       "            &lt;!-- Grid --&gt;\n",
       "            \n",
       "            &lt;div class=&quot;m2g-list&quot;&gt;&lt;div class=&quot;m2g-cell&quot; data-mols2grid-id=&quot;0&quot; tabindex=&quot;0&quot;&gt;&lt;div class=&quot;m2g-cb-wrap&quot;&gt;&lt;input type=&quot;checkbox&quot; tabindex=&quot;-1&quot; class=&quot;position-relative float-left cached_checkbox&quot;&gt;&lt;div class=&quot;m2g-cb&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data-mols2grid-id-display&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;m2g-cell-actions&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data data-img copy-me&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data data-smiles copy-me&quot; style=&quot;display: none;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;\n",
       "        &lt;/div&gt;\n",
       "        &lt;script&gt;\n",
       "            // list.js\n",
       "var listObj = new List(&#x27;mols2grid&#x27;, {\n",
       "    listClass: &#x27;m2g-list&#x27;,\n",
       "    valueNames: [{data: [&#x27;mols2grid-id&#x27;]}, &#x27;data-img&#x27;, &#x27;data-smiles&#x27;, &#x27;data-mols2grid-id&#x27;, &#x27;data-mols2grid-id-display&#x27;],\n",
       "    item: &#x27;&lt;div class=&quot;m2g-cell&quot; data-mols2grid-id=&quot;0&quot; tabindex=&quot;0&quot;&gt;&lt;div class=&quot;m2g-cb-wrap&quot;&gt;&lt;input type=&quot;checkbox&quot; tabindex=&quot;-1&quot; class=&quot;position-relative float-left cached_checkbox&quot;&gt;&lt;div class=&quot;m2g-cb&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data-mols2grid-id-display&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;m2g-cell-actions&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data data-img copy-me&quot;&gt;&lt;/div&gt;&lt;div class=&quot;data data-smiles copy-me&quot; style=&quot;display: none;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&#x27;,\n",
       "    page: 24,\n",
       "    pagination: {\n",
       "        paginationClass: &quot;m2g-pagination&quot;,\n",
       "        item: &#x27;&lt;li class=&quot;page-item&quot;&gt;&lt;a class=&quot;page page-link&quot; href=&quot;#&quot; onclick=&quot;event.preventDefault()&quot;&gt;&lt;/a&gt;&lt;/li&gt;&#x27;,\n",
       "        innerWindow: 1,\n",
       "        outerWindow: 1,\n",
       "    },\n",
       "});\n",
       "listObj.remove(&quot;mols2grid-id&quot;, &quot;0&quot;);\n",
       "listObj.add([{&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 0, &quot;data-mols2grid-id-display&quot;: 0}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(N1CCN(c2ccccn2)CC1)C1(c2cccc(Cl)c2)CC1&quot;, &quot;mols2grid-id&quot;: 1, &quot;data-mols2grid-id-display&quot;: 1}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cc(Cl)cc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 2, &quot;data-mols2grid-id-display&quot;: 2}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1ccc(Cl)cn1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 3, &quot;data-mols2grid-id-display&quot;: 3}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1ccc(-c2cccc(Cl)c2)o1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 4, &quot;data-mols2grid-id-display&quot;: 4}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1ccccc1Cl)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 5, &quot;data-mols2grid-id-display&quot;: 5}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cc(Cl)cc(C2CNC2)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 6, &quot;data-mols2grid-id-display&quot;: 6}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(C1C2CCC(C2)N1C(=O)c1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 7, &quot;data-mols2grid-id-display&quot;: 7}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;Cc1ccc(Cl)c(C(=O)N2CCN(c3ccccn3)CC2)c1&quot;, &quot;mols2grid-id&quot;: 8, &quot;data-mols2grid-id-display&quot;: 8}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cc(F)ccc1Cl)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 9, &quot;data-mols2grid-id-display&quot;: 9}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(OCc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 10, &quot;data-mols2grid-id-display&quot;: 10}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(Oc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 11, &quot;data-mols2grid-id-display&quot;: 11}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(C=Cc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 12, &quot;data-mols2grid-id-display&quot;: 12}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cccc(C2CCNC2)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 13, &quot;data-mols2grid-id-display&quot;: 13}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(COCc1cccc(Cl)c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 14, &quot;data-mols2grid-id-display&quot;: 14}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1ccc2ccccc2c1)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 15, &quot;data-mols2grid-id-display&quot;: 15}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1cccc2ccc(Cl)cc12)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 16, &quot;data-mols2grid-id-display&quot;: 16}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;O=C(c1ccc(Cl)cc1F)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 17, &quot;data-mols2grid-id-display&quot;: 17}, {&quot;data-img&quot;: null, &quot;data-smiles&quot;: &quot;Cc1cc(Cl)ccc1C(=O)N1CCN(c2ccccn2)CC1&quot;, &quot;mols2grid-id&quot;: 18, &quot;data-mols2grid-id-display&quot;: 18}]);\n",
       "\n",
       "\n",
       "// filter\n",
       "if (window.parent.mols2grid_lists === undefined) {\n",
       "    window.parent.mols2grid_lists = {};\n",
       "}\n",
       "window.parent.mols2grid_lists[&quot;default&quot;] = listObj;\n",
       "\n",
       "\n",
       "// selection\n",
       "class MolStorage extends Map {\n",
       "    multi_set(_id, _smiles) {\n",
       "        for (let i = 0; i &lt; _id.length; i++) {\n",
       "            this.set(_id[i], _smiles[i])\n",
       "        }\n",
       "    }\n",
       "    multi_del(_id) {\n",
       "        for (let i = 0; i &lt; _id.length; i++) {\n",
       "            this.delete(_id[i])\n",
       "        }\n",
       "    }\n",
       "    to_dict() {\n",
       "        var content = &#x27;{&#x27;\n",
       "        for (let [key, value] of this) {\n",
       "            content += key + &#x27;:&#x27; + JSON.stringify(value) + &#x27;,&#x27;\n",
       "        }\n",
       "        content = content.length &gt; 1 ? content.slice(0, -1) : content\n",
       "        content += &#x27;}&#x27;\n",
       "        return content\n",
       "    }\n",
       "    to_keys() {\n",
       "        var content = []\n",
       "        for (let [key] of this) {\n",
       "            content.push(key)\n",
       "        }\n",
       "        return content\n",
       "    }\n",
       "    download_smi(fileName, allItems) {\n",
       "        var content = &#x27;&#x27;\n",
       "\n",
       "        if (allItems) {\n",
       "            // Gather all smiles\n",
       "            for (var item of allItems) {\n",
       "                var smiles = item.values()[&#x27;data-SMILES&#x27;]\n",
       "                var id = item.values()[&#x27;mols2grid-id&#x27;]\n",
       "                content += smiles + &#x27; &#x27; + id + &#x27;\\n&#x27;\n",
       "            }\n",
       "        } else {\n",
       "            // Gather selected smiles\n",
       "            for (let [key, value] of this) {\n",
       "                content += value + &#x27; &#x27; + key + &#x27;\\n&#x27;\n",
       "            }\n",
       "        }\n",
       "\n",
       "        var a = document.createElement(&#x27;a&#x27;)\n",
       "        var file = new Blob([content], { type: &#x27;text/plain&#x27; })\n",
       "        a.href = URL.createObjectURL(file)\n",
       "        a.download = fileName\n",
       "        a.click()\n",
       "        a.remove()\n",
       "    }\n",
       "}\n",
       "var SELECTION = new MolStorage();\n",
       "\n",
       "\n",
       "\n",
       "// kernel\n",
       "function add_selection(grid_id, _id, smiles) {\n",
       "    SELECTION.multi_set(_id, smiles);\n",
       "    let model = window.parent[&quot;_MOLS2GRID_&quot; + grid_id];\n",
       "    if (model) {\n",
       "        model.set(&quot;selection&quot;, SELECTION.to_dict());\n",
       "        model.save_changes();\n",
       "    }\n",
       "}\n",
       "function del_selection(grid_id, _id) {\n",
       "    SELECTION.multi_del(_id);\n",
       "    let model = window.parent[&quot;_MOLS2GRID_&quot; + grid_id];\n",
       "    if (model) {\n",
       "        model.set(&quot;selection&quot;, SELECTION.to_dict());\n",
       "        model.save_changes();\n",
       "    }\n",
       "}\n",
       "if (window.parent.IPython !== undefined) {\n",
       "    // Jupyter notebook\n",
       "    var kernel_env = &quot;jupyter&quot;;\n",
       "} else if (window.parent.google !== undefined) {\n",
       "    // Google colab\n",
       "    var kernel_env = &quot;colab&quot;;\n",
       "} else {\n",
       "    var kernel_env = null;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "// sort\n",
       "var sortField = &#x27;mols2grid-id&#x27;\n",
       "var sortOrder = &#x27;asc&#x27;\n",
       "\n",
       "// Sort dropdown\n",
       "$(&#x27;#mols2grid .m2g-sort select&#x27;).change(sort)\n",
       "\n",
       "// Sort order\n",
       "$(&#x27;#mols2grid .m2g-order&#x27;).click(flipSort)\n",
       "\n",
       "function sort(e) {\n",
       "    if (e) {\n",
       "        sortField = e.target.value\n",
       "        var selectedOption = e.target.options[e.target.selectedIndex]\n",
       "        var sortFieldDisplay = selectedOption.text\n",
       "    }\n",
       "\n",
       "    // Sort\n",
       "    if (sortField == &#x27;checkbox&#x27;) {\n",
       "        listObj.sort(&#x27;mols2grid-id&#x27;, {order: sortOrder, sortFunction: checkboxSort})\n",
       "    } else {\n",
       "        listObj.sort(sortField, {order: sortOrder, sortFunction: mols2gridSortFunction})\n",
       "    }\n",
       "\n",
       "    // Update UI.\n",
       "    $(this).parent().find(&#x27;.m2g-display&#x27;).text(sortFieldDisplay)\n",
       "}\n",
       "\n",
       "// prettier-ignore\n",
       "function flipSort() {\n",
       "    $(this).parent().removeClass(&#x27;m2d-arrow-&#x27; + sortOrder)\n",
       "    sortOrder = sortOrder === &#x27;desc&#x27; ? &#x27;asc&#x27; : &#x27;desc&#x27;\n",
       "    $(this).parent().addClass(&#x27;m2d-arrow-&#x27; + sortOrder)\n",
       "    sort()\n",
       "}\n",
       "\n",
       "function mols2gridSortFunction(itemA, itemB, options) {\n",
       "    var x = itemA.values()[options.valueName]\n",
       "    var y = itemB.values()[options.valueName]\n",
       "    if (typeof x === &#x27;number&#x27;) {\n",
       "        if (isFinite(x - y)) {\n",
       "            return x - y\n",
       "        } else {\n",
       "            return isFinite(x) ? -1 : 1\n",
       "        }\n",
       "    } else {\n",
       "        x = x ? x.toLowerCase() : x\n",
       "        y = y ? y.toLowerCase() : y\n",
       "        return x &lt; y ? -1 : x &gt; y ? 1 : 0\n",
       "    }\n",
       "}\n",
       "function checkboxSort(itemA, itemB, options) {\n",
       "    if (itemA.elm !== undefined) {\n",
       "        var checkedA = itemA.elm.querySelector(&#x27;input[type=checkbox]&#x27;).checked\n",
       "        if (itemB.elm !== undefined) {\n",
       "            var checkedB = itemB.elm.querySelector(&#x27;input[type=checkbox]&#x27;).checked\n",
       "            if (checkedA &amp;&amp; !checkedB) {\n",
       "                return -1\n",
       "            } else if (!checkedA &amp;&amp; checkedB) {\n",
       "                return 1\n",
       "            } else {\n",
       "                return 0\n",
       "            }\n",
       "        } else {\n",
       "            return -1\n",
       "        }\n",
       "    } else if (itemB.elm !== undefined) {\n",
       "        return 1\n",
       "    } else {\n",
       "        return 0\n",
       "    }\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "// grid interactions (select, click, tooltip, key events)\n",
       "// Check if selection UI is supported.\n",
       "var supportSelection = eval(&#x27;True&#x27;.toLowerCase());\n",
       "\n",
       "listObj.on(&quot;updated&quot;, initInteraction);\n",
       "\n",
       "// (Re)initialiuze all grid interaction every time the grid changes.\n",
       "function initInteraction(list) {\n",
       "    initCellClick()\n",
       "    initToolTip()\n",
       "    initKeyboard()\n",
       "    if (supportSelection) initCheckbox()\n",
       "\n",
       "\n",
       "    // Hide pagination if there is only one page.\n",
       "    if (listObj.matchingItems.length &lt;= listObj.page) {\n",
       "        $(&#x27;#mols2grid .m2g-pagination&#x27;).hide()\n",
       "    } else {\n",
       "        $(&#x27;#mols2grid .m2g-pagination&#x27;).show()\n",
       "    }\n",
       "\n",
       "    // Add a bunch of phantom cells.\n",
       "    // These are used as filler to make sure that\n",
       "    // no grid cells need to be resized when there&#x27;s\n",
       "    // not enough results to fill the row.\n",
       "    $(&#x27;#mols2grid .m2g-list&#x27;).append(&#x27;&lt;div class=&quot;m2g-cell m2g-phantom&quot;&gt;&lt;/div&gt;&#x27;.repeat(11));\n",
       "}\n",
       "\n",
       "// Cell click handler.\n",
       "function initCellClick() {\n",
       "    $(&#x27;#mols2grid .m2g-cell&#x27;).off(&#x27;click&#x27;).click(function(e) {\n",
       "        if ($(e.target).hasClass(&#x27;m2g-info&#x27;) || $(e.target).is(&#x27;:checkbox&#x27;)) {\n",
       "            // Info button / Checkbox --&gt; do nothing.\n",
       "        } else if ($(e.target).is(&#x27;div&#x27;) &amp;&amp; $(e.target).hasClass(&#x27;data&#x27;)) {\n",
       "            // Data string --&gt; copy text.\n",
       "            copyOnClick(e.target)\n",
       "        } else if ($(e.target).hasClass(&#x27;m2g-callback&#x27;)) {\n",
       "            // Callback button.\n",
       "            onCallbackButtonClick(e.target)\n",
       "        } else {\n",
       "            // Outside checkbox --&gt; toggle the checkbox.\n",
       "            if (supportSelection) {\n",
       "                var chkbox = $(this).find(&#x27;input:checkbox&#x27;)[0]\n",
       "                chkbox.checked = !chkbox.checked\n",
       "                $(chkbox).trigger(&#x27;change&#x27;)\n",
       "            }\n",
       "        }\n",
       "    })\n",
       "}\n",
       "\n",
       "// Store an element&#x27;s text content in the clipboard.\n",
       "function copyOnClick(target) {\n",
       "    var text = $(target).text()\n",
       "    navigator.clipboard.writeText(text)\n",
       "\n",
       "    // Blink the cell to indicate that the text was copied.\n",
       "    $(target).addClass(&#x27;m2g-copy-blink&#x27;)\n",
       "    setTimeout(function() {\n",
       "        $(target).removeClass(&#x27;m2g-copy-blink&#x27;)\n",
       "    }, 450)\n",
       "}\n",
       "\n",
       "// Keyboard actions.\n",
       "function initKeyboard() {\n",
       "    // Disable scroll when pressing UP/DOWN arrows\n",
       "    $(&#x27;#mols2grid .m2g-cell&#x27;).off(&#x27;keydown&#x27;).keydown(function(e) {\n",
       "        if (e.which == 38 || e.which == 40) {\n",
       "            e.preventDefault()\n",
       "        }\n",
       "    })\n",
       "\n",
       "    $(&#x27;#mols2grid .m2g-cell&#x27;).off(&#x27;keyup&#x27;).keyup(function(e) {\n",
       "        var chkbox = $(this).find(&#x27;input:checkbox&#x27;)[0]\n",
       "        if (e.which == 13) {\n",
       "            // ENTER: toggle\n",
       "            chkbox.checked = !chkbox.checked\n",
       "            $(chkbox).trigger(&#x27;change&#x27;)\n",
       "        } else if (e.which == 27 || e.which == 8) {\n",
       "            // ESC/BACKSPACE: unselect\n",
       "            chkbox.checked = false\n",
       "            $(chkbox).trigger(&#x27;change&#x27;)\n",
       "        } else if (e.which == 37) {\n",
       "            // LEFT\n",
       "            $(this).prev().focus()\n",
       "        } else if (e.which == 39) {\n",
       "            // RIGHT\n",
       "            $(this).next().focus()\n",
       "        } else if (e.which == 38 || e.which == 40) {\n",
       "            var containerWidth = $(this).parent().outerWidth()\n",
       "            var cellWidth = $(this).outerWidth() + parseInt($(this).css(&#x27;marginLeft&#x27;)) * 2\n",
       "            var columns = Math.round(containerWidth / cellWidth)\n",
       "            var index = $(this).index()\n",
       "            if (e.which == 38) {\n",
       "                // UP\n",
       "                var indexAbove = Math.max(index - columns, 0)\n",
       "                $(this).parent().children().eq(indexAbove).focus()\n",
       "            } else if (e.which == 40) {\n",
       "                // DOWN    \n",
       "                var total = $(this).parent().children().length\n",
       "                var indexBelow = Math.min(index + columns, total)\n",
       "                $(this).parent().children().eq(indexBelow).focus()\n",
       "            }\n",
       "        }\n",
       "    })\n",
       "}\n",
       "\n",
       "// Show tooltip when hovering the info icon.\n",
       "function initToolTip() {\n",
       "    $(&#x27;#mols2grid .m2g-info&#x27;).off(&#x27;mouseenter&#x27;).off(&#x27;mouseleave&#x27;).off(&#x27;click&#x27;).mouseenter(function() {\n",
       "        // Show on enter\n",
       "        $(this).closest(&#x27;.m2g-cell&#x27;).find(&#x27;.m2g-tooltip[data-toggle=&quot;popover&quot;]&#x27;).popover(&#x27;show&#x27;)\n",
       "        $(&#x27;body &gt; .popover&#x27;).click(function(e) {\n",
       "            if ($(e.target).hasClass(&#x27;copy-me&#x27;)) {\n",
       "                copyOnClick(e.target)\n",
       "            } else if ($(e.target).is(&#x27;button&#x27;)) {\n",
       "                \n",
       "            }\n",
       "        })\n",
       "    }).mouseleave(function() {\n",
       "        // Hide on leave, unless sticky.\n",
       "        if (!$(this).closest(&#x27;.m2g-cell&#x27;).hasClass(&#x27;m2g-keep-tooltip&#x27;)) {\n",
       "            $(this).closest(&#x27;.m2g-cell&#x27;).find(&#x27;.m2g-tooltip[data-toggle=&quot;popover&quot;]&#x27;).popover(&#x27;hide&#x27;)\n",
       "        }\n",
       "    }).click(function() {\n",
       "        // Toggle sticky on click.\n",
       "        $(this).closest(&#x27;.m2g-cell&#x27;).toggleClass(&#x27;m2g-keep-tooltip&#x27;)\n",
       "\n",
       "        // Hide tooltip when sticky was turned off.\n",
       "        if ($(this).closest(&#x27;.m2g-cell&#x27;).hasClass(&#x27;m2g-keep-tooltip&#x27;)) {\n",
       "            $(this).closest(&#x27;.m2g-cell&#x27;).find(&#x27;.m2g-tooltip[data-toggle=&quot;popover&quot;]&#x27;).popover(&#x27;show&#x27;)\n",
       "        } else if (!$(this).closest(&#x27;.m2g-cell&#x27;).hasClass(&#x27;m2g-keep-tooltip&#x27;)) {\n",
       "            $(this).closest(&#x27;.m2g-cell&#x27;).find(&#x27;.m2g-tooltip[data-toggle=&quot;popover&quot;]&#x27;).popover(&#x27;hide&#x27;)\n",
       "        }\n",
       "    })\n",
       "}\n",
       "\n",
       "// Update selection on checkbox click.\n",
       "function initCheckbox() {\n",
       "    $(&quot;input:checkbox&quot;).off(&#x27;change&#x27;).change(function() {\n",
       "        var _id = parseInt($(this).closest(&quot;.m2g-cell&quot;).attr(&quot;data-mols2grid-id&quot;));\n",
       "        if (this.checked) {\n",
       "            var _smiles = $($(this).closest(&quot;.m2g-cell&quot;).children(&quot;.data-smiles&quot;)[0]).text();\n",
       "            add_selection(&quot;default&quot;, [_id], [_smiles]);\n",
       "        } else {\n",
       "            del_selection(&quot;default&quot;, [_id]);\n",
       "        }\n",
       "    });\n",
       "}\n",
       "\n",
       "// Callback button\n",
       "function onCallbackButtonClick(target) {\n",
       "    var data = {}\n",
       "    data[&quot;mols2grid-id&quot;] = parseInt($(target).closest(&quot;.m2g-cell&quot;)\n",
       "                                            .attr(&quot;data-mols2grid-id&quot;));\n",
       "    data[&quot;img&quot;] = $(target).parent().siblings(&quot;.data-img&quot;).eq(0).get(0).innerHTML;\n",
       "    $(target).parent().siblings(&quot;.data&quot;).not(&quot;.data-img&quot;).each(function() {\n",
       "        let name = this.className.split(&quot; &quot;)\n",
       "            .filter(cls =&gt; cls.startsWith(&quot;data-&quot;))[0]\n",
       "            .substring(5);\n",
       "        data[name] = this.innerHTML;\n",
       "    });\n",
       "\n",
       "    \n",
       "    // Call custom js callback.\n",
       "    None\n",
       "    \n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "/**\n",
       " * Actions\n",
       " */\n",
       "\n",
       "// Listen to action dropdown.\n",
       "$(&#x27;#mols2grid .m2g-actions select&#x27;).change(function(e) {\n",
       "    var val = e.target.value\n",
       "    switch(val) {\n",
       "        case &#x27;select-all&#x27;:\n",
       "            selectAll()\n",
       "            break\n",
       "        case &#x27;select-matching&#x27;:\n",
       "            selectMatching()\n",
       "            break\n",
       "        case &#x27;unselect-all&#x27;:\n",
       "            unselectAll()\n",
       "            break\n",
       "        case &#x27;invert&#x27;:\n",
       "            invertSelection()\n",
       "            break\n",
       "        case &#x27;copy&#x27;:\n",
       "            copy()\n",
       "            break\n",
       "        case &#x27;save-smiles&#x27;:\n",
       "            saveSmiles()\n",
       "            break\n",
       "        case &#x27;save-csv&#x27;:\n",
       "            saveCSV()\n",
       "            break\n",
       "    }\n",
       "    $(this).val(&#x27;&#x27;) // Reset dropdown\n",
       "})\n",
       "\n",
       "// Check all.\n",
       "function selectAll(e) {\n",
       "    var _id = [];\n",
       "    var _smiles = [];\n",
       "    listObj.items.forEach(function (item) {\n",
       "        if (item.elm) {\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = true;\n",
       "        } else {\n",
       "            item.show()\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = true;\n",
       "            item.hide()\n",
       "        }\n",
       "        _id.push(item.values()[&quot;mols2grid-id&quot;]);\n",
       "        _smiles.push(item.values()[&quot;data-smiles&quot;]);\n",
       "    });\n",
       "    add_selection(&quot;default&quot;, _id, _smiles);\n",
       "};\n",
       "\n",
       "\n",
       "// Check matching.\n",
       "function selectMatching(e) {\n",
       "    var _id = [];\n",
       "    var _smiles = [];\n",
       "    listObj.matchingItems.forEach(function (item) {\n",
       "        if (item.elm) {\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = true;\n",
       "        } else {\n",
       "            item.show()\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = true;\n",
       "            item.hide()\n",
       "        }\n",
       "        _id.push(item.values()[&quot;mols2grid-id&quot;]);\n",
       "        _smiles.push(item.values()[&quot;data-smiles&quot;]);\n",
       "    });\n",
       "    add_selection(&quot;default&quot;, _id, _smiles);\n",
       "};\n",
       "\n",
       "// Uncheck all.\n",
       "function unselectAll(e) {\n",
       "    var _id = [];\n",
       "    listObj.items.forEach(function (item) {\n",
       "        if (item.elm) {\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = false;\n",
       "        } else {\n",
       "            item.show()\n",
       "            item.elm.getElementsByTagName(&quot;input&quot;)[0].checked = false;\n",
       "            item.hide()\n",
       "        }\n",
       "        _id.push(item.values()[&quot;mols2grid-id&quot;]);\n",
       "    });\n",
       "    del_selection(&quot;default&quot;, _id);\n",
       "};\n",
       "\n",
       "// Invert selection.\n",
       "function invertSelection(e) {\n",
       "    var _id_add = [];\n",
       "    var _id_del = [];\n",
       "    var _smiles = [];\n",
       "    listObj.items.forEach(function (item) {\n",
       "        if (item.elm) {\n",
       "            var chkbox = item.elm.getElementsByTagName(&quot;input&quot;)[0]\n",
       "            chkbox.checked = !chkbox.checked;\n",
       "        } else {\n",
       "            item.show()\n",
       "            var chkbox = item.elm.getElementsByTagName(&quot;input&quot;)[0]\n",
       "            chkbox.checked = !chkbox.checked;\n",
       "            item.hide()\n",
       "        }\n",
       "        if (chkbox.checked) {\n",
       "            _id_add.push(item.values()[&quot;mols2grid-id&quot;]);\n",
       "            _smiles.push(item.values()[&quot;data-smiles&quot;]);\n",
       "        } else {\n",
       "            _id_del.push(item.values()[&quot;mols2grid-id&quot;]);\n",
       "        }\n",
       "    });\n",
       "    del_selection(&quot;default&quot;, _id_del);\n",
       "    add_selection(&quot;default&quot;, _id_add, _smiles);\n",
       "};\n",
       "\n",
       "// Copy to clipboard.\n",
       "function copy(e) {\n",
       "    // navigator.clipboard.writeText(SELECTION.to_dict());\n",
       "    content = _renderCSV(&#x27;\\t&#x27;)\n",
       "    navigator.clipboard.writeText(content)\n",
       "};\n",
       "\n",
       "// Export smiles.\n",
       "function saveSmiles(e) {\n",
       "    var fileName = &quot;selection.smi&quot;\n",
       "    if (SELECTION.size) {\n",
       "        // Download selected smiles\n",
       "        SELECTION.download_smi(fileName);\n",
       "    } else {\n",
       "        // Download all smiles\n",
       "        SELECTION.download_smi(fileName, listObj.items);\n",
       "    }\n",
       "};\n",
       "\n",
       "// Export CSV.\n",
       "function saveCSV(e) {\n",
       "    content = _renderCSV(&#x27;;&#x27;)\n",
       "    var a = document.createElement(&quot;a&quot;);\n",
       "    var file = new Blob([content], {type: &quot;text/csv&quot;});\n",
       "    a.href = URL.createObjectURL(file);\n",
       "    a.download = &quot;selection.csv&quot;;\n",
       "    a.click();\n",
       "    a.remove();\n",
       "};\n",
       "\n",
       "// Render CSV for export of clipboard.\n",
       "function _renderCSV(sep) {\n",
       "    // Same order as subset + tooltip\n",
       "    var columns = Array.from(listObj.items[0].elm.querySelectorAll(&quot;div.data&quot;))\n",
       "        .map(elm =&gt; elm.classList[1])\n",
       "        .filter(name =&gt; name !== &quot;data-img&quot;);\n",
       "    // Remove &#x27;data-&#x27; and img\n",
       "    var header = columns.map(name =&gt; name.slice(5));\n",
       "    // CSV content\n",
       "    header = [&quot;index&quot;].concat(header).join(sep);\n",
       "    var content = header + &quot;\\n&quot;;\n",
       "    listObj.items.forEach(function (item) {\n",
       "        let data = item.values();\n",
       "        let index = data[&quot;mols2grid-id&quot;];\n",
       "        if (SELECTION.has(index) || SELECTION.size === 0) {\n",
       "            content += index;\n",
       "            columns.forEach((key) =&gt; {\n",
       "                content += sep + data[key];\n",
       "            })\n",
       "            content += &quot;\\n&quot;;\n",
       "        }\n",
       "    });\n",
       "    return content\n",
       "}\n",
       "\n",
       "\n",
       "// generate images for the currently displayed molecules\n",
       "var draw_opts = {&quot;width&quot;: 130, &quot;height&quot;: 90};\n",
       "var json_draw_opts = JSON.stringify(draw_opts);\n",
       "\n",
       "var smarts_matches = {};\n",
       "\n",
       "// Load RDKit\n",
       "window\n",
       ".initRDKitModule()\n",
       ".then(function(RDKit) {\n",
       "    console.log(&#x27;RDKit version: &#x27;, RDKit.version());\n",
       "    window.RDKit = RDKit;\n",
       "    window.RDKitModule = RDKit;\n",
       "\n",
       "    // Searchbar\n",
       "    function SmartsSearch(query, columns) {\n",
       "    var smiles_col = columns[0];\n",
       "    smarts_matches = {};\n",
       "    var query = $(&#x27;#mols2grid .m2g-searchbar&#x27;).val();\n",
       "    var qmol = RDKit.get_qmol(query);\n",
       "    if (qmol.is_valid()) {\n",
       "        listObj.items.forEach(function (item) {\n",
       "            var smiles = item.values()[smiles_col]\n",
       "            var mol = RDKit.get_mol(smiles, &#x27;{&quot;removeHs&quot;: false }&#x27;);\n",
       "            if (mol.is_valid()) {\n",
       "                var results = mol.get_substruct_matches(qmol);\n",
       "                if (results === &quot;\\{\\}&quot;) {\n",
       "                    item.found = false;\n",
       "                } else {\n",
       "                    item.found = true;\n",
       "                    \n",
       "                    results = JSON.parse(results);\n",
       "                    \n",
       "                    var highlights = {&quot;atoms&quot;: [], &quot;bonds&quot;: []};\n",
       "                    results.forEach(function (match) {\n",
       "                        highlights[&quot;atoms&quot;].push(...match.atoms)\n",
       "                        highlights[&quot;bonds&quot;].push(...match.bonds)\n",
       "                    });\n",
       "                    \n",
       "                    var index = item.values()[&quot;mols2grid-id&quot;];\n",
       "                    smarts_matches[index] = highlights;\n",
       "                    \n",
       "                }\n",
       "            } else {\n",
       "                item.found = false;\n",
       "            }\n",
       "            mol.delete();\n",
       "        });\n",
       "    }\n",
       "    qmol.delete();\n",
       "}\n",
       "var search_type = &quot;Text&quot;;\n",
       "// Temporary fix for regex characters being escaped by list.js\n",
       "// This extends String.replace to ignore the regex pattern used by list.js and returns\n",
       "// the string unmodified. Other calls should not be affected, unless they use the exact\n",
       "// same pattern and replacement value.\n",
       "// TODO: remove once the issue is fixed in list.js and released\n",
       "String.prototype.replace = (function(_super) {\n",
       "    return function() {\n",
       "        if (\n",
       "            (arguments[0].toString() === &#x27;/[-[\\\\]{}()*+?.,\\\\\\\\^$|#]/g&#x27;)\n",
       "            &amp;&amp; (arguments[1] === &#x27;\\\\$&amp;&#x27;)\n",
       "        ) {\n",
       "            if (this.length === 0) {\n",
       "                return &#x27;&#x27;\n",
       "            }\n",
       "            return this\n",
       "        }\n",
       "        return _super.apply(this, arguments);\n",
       "    };         \n",
       "})(String.prototype.replace);\n",
       "\n",
       "// Switch search type (Text or SMARTS)\n",
       "$(&#x27;#mols2grid .m2g-search-options .m2g-option&#x27;).click(function() {\n",
       "    search_type = $(this).text();\n",
       "    $(&#x27;#mols2grid .m2g-search-options .m2g-option.sel&#x27;).removeClass(&quot;sel&quot;);\n",
       "    $(this).addClass(&quot;sel&quot;);\n",
       "});\n",
       "\n",
       "// Searchbar update event handler\n",
       "$(&#x27;#mols2grid .m2g-searchbar&#x27;).on(&quot;keyup&quot;, function(e) {\n",
       "    var query = e.target.value;\n",
       "    if (search_type === &quot;Text&quot;) {\n",
       "        smarts_matches = {};\n",
       "        listObj.search(query, [&#x27;data-mols2grid-id&#x27;]);\n",
       "    } else {\n",
       "        listObj.search(query, [&quot;data-smiles&quot;], SmartsSearch);\n",
       "    }\n",
       "});\n",
       "\n",
       "    \n",
       "    // Generate images for the currently displayed molecules.\n",
       "RDKit.prefer_coordgen(true);\n",
       "function draw_mol(smiles, index, template_mol) {\n",
       "    var mol = RDKit.get_mol(smiles, &#x27;{&quot;removeHs&quot;: false }&#x27;);\n",
       "    var svg = &quot;&quot;;\n",
       "    if (mol.is_valid()) {\n",
       "        var highlights = smarts_matches[index];\n",
       "        if (highlights) {\n",
       "            var details = Object.assign({}, draw_opts, highlights);\n",
       "            details = JSON.stringify(details);\n",
       "            mol.generate_aligned_coords(template_mol, true);\n",
       "        } else {\n",
       "            var details = json_draw_opts;\n",
       "        }\n",
       "        svg = mol.get_svg_with_highlights(details);\n",
       "    }\n",
       "    mol.delete();\n",
       "    if (svg == &quot;&quot;) {\n",
       "        return &#x27;&lt;svg width=&quot;130&quot; height=&quot;90&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; version=&quot;1.1&quot; viewBox=&quot;0 0 130 90&quot;&gt;&lt;/svg&gt;&#x27;;\n",
       "    }\n",
       "    return svg;\n",
       "}\n",
       "\n",
       "// Update images when the list is updated.\n",
       "listObj.on(&quot;updated&quot;, function (list) {\n",
       "    var query = $(&#x27;#mols2grid .m2g-searchbar&#x27;).val();\n",
       "    var template_mol;\n",
       "    if (query === &quot;&quot;) {\n",
       "        smarts_matches = {};\n",
       "        template_mol = null;\n",
       "    } else {\n",
       "        template_mol = RDKit.get_qmol(query);\n",
       "        template_mol.set_new_coords(true);\n",
       "    }\n",
       "    $(&#x27;#mols2grid .m2g-cell&#x27;).each(function() {\n",
       "        var $t = $(this);\n",
       "        var smiles = $t.children(&quot;.data-smiles&quot;).first().text();\n",
       "        var index = parseInt(this.getAttribute(&quot;data-mols2grid-id&quot;));\n",
       "        var svg = draw_mol(smiles, index, template_mol);\n",
       "        $t.children(&quot;.data-img&quot;).html(svg);\n",
       "    });\n",
       "    if (template_mol) {\n",
       "        template_mol.delete();\n",
       "    }\n",
       "});\n",
       "    \n",
       "\n",
       "    // Trigger update to activate tooltips, draw images, setup callbacks...\n",
       "    listObj.update();\n",
       "    \n",
       "    // Set iframe height to fit content.\n",
       "    fitIframe(window.frameElement);\n",
       "});\n",
       "        &lt;/script&gt;\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "    &lt;/body&gt;\n",
       "&lt;/html&gt;\n",
       "\">\n",
       "</iframe>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cluster_num = 2\n",
    "mols2grid.display(similar_df.query(\"cluster == @cluster_num\"),smiles_col=\"smiles\",subset=[\"img\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "7765838d-0ab2-4091-ad1d-b0149c80e285",
   "metadata": {
    "executionInfo": {
     "elapsed": 1,
     "status": "ok",
     "timestamp": 1757340834558,
     "user": {
      "displayName": "",
      "userId": ""
     },
     "user_tz": 240
    },
    "id": "7765838d-0ab2-4091-ad1d-b0149c80e285"
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "79eccbf6-10cb-4acb-bbec-f61133793d7f",
   "metadata": {
    "id": "79eccbf6-10cb-4acb-bbec-f61133793d7f"
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "provenance": [
    {
     "file_id": "https://github.com/PatWalters/practical_cheminformatics_tutorials/blob/main/generative/SMILES_RNN.ipynb",
     "timestamp": 1757340851685
    }
   ]
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.8"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "0244739699be41629bba0c239f10dc97": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0631d72511a64f0fb17466a4c0bd38fe": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "08f0832881db4e6bb618de3dd71c6862": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_25920ca6df374a26a90ea15639b7ceb0",
      "max": 6751,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a32c4bae481e4b2cae40241e900ef05a",
      "value": 6751
     }
    },
    "0bb7013141274680adf74a3207d6be5e": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0be6885344da4712888a6210e315d434": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "0c332c30a17a4e97885debbb674f0445": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "1583f9c47e874c5fa52521d4384f0b70": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "176d6ddc9d47409ea885d597e87cffef": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_485a928fa8334f0db3140967616dad33",
       "IPY_MODEL_1e1078394d064631a6357ccfe5d675aa",
       "IPY_MODEL_f7127a99e8294722b33708adb4778160"
      ],
      "layout": "IPY_MODEL_1b4278da251e43a0a43aac2f8220c881"
     }
    },
    "1b4278da251e43a0a43aac2f8220c881": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": "hidden",
      "width": null
     }
    },
    "1e1078394d064631a6357ccfe5d675aa": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "info",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9b3b7df9e59f40c4bbb2daa8391a2127",
      "max": 1,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_de071a38651c46cd82a06b1513512a61",
      "value": 1
     }
    },
    "25920ca6df374a26a90ea15639b7ceb0": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "27bad5b4d1494d85aac0c1dc2dce6847": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2cb7a4cc35ef4a3788f50c35af58606c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_476226412dcb49bf901e135b5b6ca99a",
      "placeholder": "​",
      "style": "IPY_MODEL_9a3c7dd9af43424fb09a8b4329f69786",
      "value": " 7896/7896 [00:02&lt;00:00, 2841.26it/s]"
     }
    },
    "2f91ca2ad67b48e999abb8bd5f71076f": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2fbd833e84f241edb759d2665d8bf0d0": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8fa1250d48ca4537a41a6d09c4cf4e0b",
      "placeholder": "​",
      "style": "IPY_MODEL_0631d72511a64f0fb17466a4c0bd38fe",
      "value": " 7591/7591 [00:00&lt;00:00, 8417.62it/s]"
     }
    },
    "3144211c8bab4733b5823d39058c8219": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "35ae9a6662094302a01bbe1dc0ee0903": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8f1177a5ec8a42fcbf1951d3f4e8eb49",
      "placeholder": "​",
      "style": "IPY_MODEL_d3e5f8052aac451ab1357db1fe51f64c",
      "value": "Downloading alert_collection.csv: "
     }
    },
    "37c52d0cc8884b3c8cc07cb452b64111": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "3857a1cae87f415f8a46198607f3d098": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_1583f9c47e874c5fa52521d4384f0b70",
      "placeholder": "​",
      "style": "IPY_MODEL_a0a257d68a5c44c48838e255d5ef3f80",
      "value": " 6751/6751 [00:00&lt;00:00, 14370.98it/s]"
     }
    },
    "3d7c9219a78d4d759e539df5f0f9fac7": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "3dbbeb3f41c54e6d8810db8dd66bf1a9": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ef1c3acc501047779954891f4f06b3ea",
      "placeholder": "​",
      "style": "IPY_MODEL_6807f6a845d246a8a83e7b4af2bec892",
      "value": " 6922/6922 [00:06&lt;00:00, 1116.30it/s]"
     }
    },
    "476226412dcb49bf901e135b5b6ca99a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "485a928fa8334f0db3140967616dad33": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b7125cd164f84aaf8d55dccf538c8339",
      "placeholder": "​",
      "style": "IPY_MODEL_3d7c9219a78d4d759e539df5f0f9fac7",
      "value": "Downloading chembl_ring_systems.csv:   0%"
     }
    },
    "485fea083f804a89a6d3bcbe902427bb": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "49d0a9f081f140bfad336e88be82ed77": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "507f5c30de4241c4a1f63e32b467a589": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a63c0aef650c403094051ebfc855c570",
      "placeholder": "​",
      "style": "IPY_MODEL_e8d0ced6e59e4ae7a89ea646c561f92d",
      "value": " 0.00/? [00:00&lt;?, ?B/s]"
     }
    },
    "523a737f5533409fa2a87d94335e61fc": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f0f7ade6a46849f0a8ae28e728c8bbf9",
      "placeholder": "​",
      "style": "IPY_MODEL_86ab6f297987415b94dabe09b36586f0",
      "value": "100%"
     }
    },
    "5596e8c51475408eaa0b0d3b37fb0042": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": "hidden",
      "width": null
     }
    },
    "5fee5dd3db8840e1a43df1bcf26bc9fa": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_35ae9a6662094302a01bbe1dc0ee0903",
       "IPY_MODEL_ccc21b1fb0b54169b33dfd6c47db8721",
       "IPY_MODEL_507f5c30de4241c4a1f63e32b467a589"
      ],
      "layout": "IPY_MODEL_5596e8c51475408eaa0b0d3b37fb0042"
     }
    },
    "658c549c638d445dbd5fa531d6f41e43": {
     "model_module": "mols2grid",
     "model_module_version": "^2.0.0",
     "model_name": "MolGridModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "mols2grid",
      "_model_module_version": "^2.0.0",
      "_model_name": "MolGridModel",
      "_view_count": null,
      "_view_module": "mols2grid",
      "_view_module_version": "^2.0.0",
      "_view_name": "MolGridView",
      "callback_kwargs": "{}",
      "filter_mask": [],
      "grid_id": "default",
      "layout": "IPY_MODEL_fd1e0ab6f2a94647bbf29f3141ab9b71",
      "selection": "{}"
     }
    },
    "6807f6a845d246a8a83e7b4af2bec892": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7564c8d8e55a444eb6c5b7efc67c355c": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "75a0cfed7ba8405c85e14657585cebe7": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "86ab6f297987415b94dabe09b36586f0": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8a20157b85264c25a9a2e0e4fd2d8e4a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e564d7c342fc44b6a4f5b9d11af18b14",
      "max": 7591,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_ef12106687bd4c9cb27036206a5f30cf",
      "value": 7591
     }
    },
    "8f1177a5ec8a42fcbf1951d3f4e8eb49": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "8f6eeecb4863499f8442b5f7d222cba9": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d1718908d61442dfa3e6ed3eae2b6e1b",
      "placeholder": "​",
      "style": "IPY_MODEL_27bad5b4d1494d85aac0c1dc2dce6847",
      "value": " 7591/7591 [00:17&lt;00:00, 448.65it/s]"
     }
    },
    "8fa1250d48ca4537a41a6d09c4cf4e0b": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "927e4bd066d44de599af38bba13536d6": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9a3c7dd9af43424fb09a8b4329f69786": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9b3b7df9e59f40c4bbb2daa8391a2127": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": "20px"
     }
    },
    "9b78c00fe51046ca801f0ff1e844f9eb": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9c3c0339de034701b109cdbfd7642cb7": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9d398a5fec7b4fb79561d9c7c198631b": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_b41aa9acaeda4172ab860bbd91f72a8b",
       "IPY_MODEL_08f0832881db4e6bb618de3dd71c6862",
       "IPY_MODEL_3857a1cae87f415f8a46198607f3d098"
      ],
      "layout": "IPY_MODEL_49d0a9f081f140bfad336e88be82ed77"
     }
    },
    "a0a257d68a5c44c48838e255d5ef3f80": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a0e823c70a8c463db1c4913b2347307a": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": "20px"
     }
    },
    "a32c4bae481e4b2cae40241e900ef05a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "a44c1fa9218b4b3686669358853989a5": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_0bb7013141274680adf74a3207d6be5e",
      "placeholder": "​",
      "style": "IPY_MODEL_9b78c00fe51046ca801f0ff1e844f9eb",
      "value": "100%"
     }
    },
    "a52f663a18334317875e3ae766b0ed35": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_ba03361241f44c5baca8e895378d2069",
       "IPY_MODEL_d97ebc2ca9fd4e2e8c2e68156718e6a8",
       "IPY_MODEL_3dbbeb3f41c54e6d8810db8dd66bf1a9"
      ],
      "layout": "IPY_MODEL_ba7135853a5043cfad319827892b53cf"
     }
    },
    "a630f35314004d54b726b63ca21aace0": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a63c0aef650c403094051ebfc855c570": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b41aa9acaeda4172ab860bbd91f72a8b": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e84f586e805e4267b3b709abd37d5c4d",
      "placeholder": "​",
      "style": "IPY_MODEL_2f91ca2ad67b48e999abb8bd5f71076f",
      "value": "100%"
     }
    },
    "b7125cd164f84aaf8d55dccf538c8339": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ba03361241f44c5baca8e895378d2069": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c837c92f1ff74048991e77ed7fb8d578",
      "placeholder": "​",
      "style": "IPY_MODEL_9c3c0339de034701b109cdbfd7642cb7",
      "value": "100%"
     }
    },
    "ba7135853a5043cfad319827892b53cf": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c5baf0bd065f4f3d8a47a91d1340426a": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_523a737f5533409fa2a87d94335e61fc",
       "IPY_MODEL_d24b47fda20544b090dca1c97126d789",
       "IPY_MODEL_2cb7a4cc35ef4a3788f50c35af58606c"
      ],
      "layout": "IPY_MODEL_a630f35314004d54b726b63ca21aace0"
     }
    },
    "c837c92f1ff74048991e77ed7fb8d578": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ca84967a5de744dc94bc356308ac37e3": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_0244739699be41629bba0c239f10dc97",
      "max": 7591,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_f1f3cefc1bbf409487fe998319cb4c61",
      "value": 7591
     }
    },
    "ccc21b1fb0b54169b33dfd6c47db8721": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "info",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_a0e823c70a8c463db1c4913b2347307a",
      "max": 1,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_ed2f8121221e4b1aa3f8c5e71a118f60",
      "value": 1
     }
    },
    "d1718908d61442dfa3e6ed3eae2b6e1b": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d24b47fda20544b090dca1c97126d789": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_7564c8d8e55a444eb6c5b7efc67c355c",
      "max": 7896,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_0c332c30a17a4e97885debbb674f0445",
      "value": 7896
     }
    },
    "d3565b6dff3e4a22a4b43494ffd0dd85": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "d3e5f8052aac451ab1357db1fe51f64c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "d97ebc2ca9fd4e2e8c2e68156718e6a8": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "FloatProgressModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_927e4bd066d44de599af38bba13536d6",
      "max": 6922,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_485fea083f804a89a6d3bcbe902427bb",
      "value": 6922
     }
    },
    "de071a38651c46cd82a06b1513512a61": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "e515b53d02ff45168e50103c0781e7bd": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_f28505c4f5b044eab232ec81ad5bb99e",
       "IPY_MODEL_8a20157b85264c25a9a2e0e4fd2d8e4a",
       "IPY_MODEL_2fbd833e84f241edb759d2665d8bf0d0"
      ],
      "layout": "IPY_MODEL_f2e9f014e99843deb8283cc1d4279053"
     }
    },
    "e564d7c342fc44b6a4f5b9d11af18b14": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e84f586e805e4267b3b709abd37d5c4d": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e8d0ced6e59e4ae7a89ea646c561f92d": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "DescriptionStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "ed2f8121221e4b1aa3f8c5e71a118f60": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "ede3508e60f34c33b620f2c551ced18c": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HBoxModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_a44c1fa9218b4b3686669358853989a5",
       "IPY_MODEL_ca84967a5de744dc94bc356308ac37e3",
       "IPY_MODEL_8f6eeecb4863499f8442b5f7d222cba9"
      ],
      "layout": "IPY_MODEL_75a0cfed7ba8405c85e14657585cebe7"
     }
    },
    "ef12106687bd4c9cb27036206a5f30cf": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "ef1c3acc501047779954891f4f06b3ea": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f0f7ade6a46849f0a8ae28e728c8bbf9": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f1f3cefc1bbf409487fe998319cb4c61": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "ProgressStyleModel",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f28505c4f5b044eab232ec81ad5bb99e": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_3144211c8bab4733b5823d39058c8219",
      "placeholder": "​",
      "style": "IPY_MODEL_37c52d0cc8884b3c8cc07cb452b64111",
      "value": "100%"
     }
    },
    "f2e9f014e99843deb8283cc1d4279053": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f7127a99e8294722b33708adb4778160": {
     "model_module": "@jupyter-widgets/controls",
     "model_module_version": "1.5.0",
     "model_name": "HTMLModel",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_0be6885344da4712888a6210e315d434",
      "placeholder": "​",
      "style": "IPY_MODEL_d3565b6dff3e4a22a4b43494ffd0dd85",
      "value": " 8.00k/3.63M [00:00&lt;01:49, 34.6kB/s]"
     }
    },
    "fd1e0ab6f2a94647bbf29f3141ab9b71": {
     "model_module": "@jupyter-widgets/base",
     "model_module_version": "1.2.0",
     "model_name": "LayoutModel",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
